關於磁碟學習的幾點總結!

  最近,裝了多個系統,在不同的系統之間換來換去,很是花了一段時間,自己沒有做什麼事情,時間全用在裝系統和上網亂看一些知識,沒有什麼目的性,還是靜不下心來,專註一件事情好好乾,唉,不能這樣,該收心自己好好的學習!  不過,還是有些收穫的,特別是裝archlinux 的過程,讓我更深入的瞭解到了關於磁碟的一些東西   首先,磁碟是由機械手臂,主轉馬達,磁頭,等組成,其中,磁碟的最小單元是扇區,每個扇區有512byte,而扇區組成了一個個柱面,柱面可以由柱面號來區分!  磁碟的容量可以這樣計算,容量

二叉尋找樹

     什麼樣的樹是二叉尋找樹呢(Binary Search Tree)?     來自<<演算法導論>>中的定義:          簡單的說,每個節點的左子樹都比該節點的值要小,且右子樹節點的數值全部比這個節點都要大。這樣的樹就是二叉尋找樹.每個節點的關鍵字都不一樣。     這種資料結構支援的操作有:插入一個節點,刪除一個節點,尋找一個節點,求出這個數的最大值,求出這個數的最小值。按照中序遍曆整個數組,求出這個節點的後繼和前驅。     一個典型的二叉尋找樹!  

類檔案結構

實現語言無關性的基礎仍然是虛擬機器和位元組碼儲存格式,使用Java編譯器可以把Java代碼編譯為儲存位元組碼的Class檔案,使用JRuby等其他語言的編譯器一樣可以把程式碼編譯成Class檔案,虛擬機器並不關心Class的來源是什麼語言,只要他符合Class檔案應用的結構就可以在Java虛擬機器中運行。Class檔案是一組以八位位元組為基礎的單位的二進位流,各個資料項目嚴格按照順序緊湊的排列在Class檔案中,中間沒有添加任何分隔字元,這使得整個Class檔案中儲存的內容幾乎全部都是程式啟動並

那些優雅的資料結構(1) : BloomFilter——大規模資料處理利器

  BloomFilter——大規模資料處理利器   Bloom Filter是由Bloom在1970年提出的一種多雜湊函數映射的快速尋找演算法。通常應用在一些需要快速判斷某個元素是否屬於集合,但是並不嚴格要求100%正確的場合。 一. 執行個體   為了說明Bloom Filter存在的重要意義,舉一個執行個體:  假設要你寫一個網路蜘蛛(web

二分圖 最小路徑覆蓋

定義:在一個有向圖中,找出最少的路徑,使得這些路徑,經過每一個點,且每一個點只與一條路徑相關聯,由上面得出:1.一個單獨的點是一個路徑2:如果有路徑a,b,c。。。。f,g。a為起點,g為終點。那麼a到g的點不在與其他點之間存在有向邊。最小路徑覆蓋=點數---最大匹配數證明:1  如果匹配數為0,那麼圖中沒有邊,需要n條路徑2  如果a,b之間連一條邊,那麼匹配數增1,需要的路徑數會減少一,因為a,b之間只需要一條,那麼就證明了**********************一個最好的利用是

網路爬蟲基本原理(一)

    網路爬蟲是捜索引擎抓取系統的重要組成部分。爬蟲的主要目的是將互連網上的網頁下載到本地形成一個或連網內容的鏡像備份。這篇部落客要對爬蟲以及抓取系統進行一個簡單的概述。一、網路爬蟲的基本結構及工作流程    一個通用的網路爬蟲的架構:    網路爬蟲的基本工作流程如下:    1.首先選取一部分精心挑選的種子URL;    2.將這些URL放入待抓取URL隊列;   

動態規劃求區間最值問題RMQ(Range Minimum/Maximum Query)

求區間最值問題最簡單的方法是遍曆區間,時間複雜度O(n), 但是當查詢次數很多的時候,時間效率並不高。可以用線段樹把演算法最佳化到O(logn) (線上段樹中儲存線段的最值),不過sparse_table演算法是較好的,用O(nlogn)的時間進行預先處理,然後用O(1)時間進行查詢。預先處理:預先處理使用DP的思想,f(i, j)表示[i, i+2^j - 1]區間中的最小值,我們可以開闢一個數組專門來儲存f(i, j)的值。例如,f(0, 0)表示[0,0]之間的最小值,就是num[0],

匈牙利演算法實現

    我們知道匈牙利演算法是用來解決二部圖的最大匹配問題,現在用dfs和bfs來實現尋找增廣路!其中dfs演算法比較簡單!整個演算法的思想就是尋找增廣路,找到一條增廣路最大匹配就增加1!  1 #define maxn 10//表示x集合和y集合中頂點的最大個數! 2 int nx,ny;//x集合和y集合中頂點的個數 3 int edge[maxn][maxn];//edge[i][j]為1表示ij可以匹配 4 int

hdu1083完備匹配的判定

直接上代碼。/* * hdu1083/win.cpp * Created on: 2012-8-16 * Author : ben */#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <ctime>#include <iostream>#include <algorithm>#include <

5億個數找中位元

找中位元最容易想到的方法就是,先對序列進行排序,取中位元,然而5億個數要想全部讀入記憶體需要將近2GB空間。一種想法是採用外部排序的方法,在排序的過程中記錄資料個數,找到中位元。首先採用hash() % 100,把資料分到100個檔案中,然後對每個檔案分別在記憶體中進行快速排序,再將100個小檔案進行合并,並在合并過程中尋找中位元,時間複雜度是O(nlogn) 另外一種方法是,將資料按照資料空間分為0-9999999,10000000-999999999,

讓心如鏡,淡然沉靜

夜裡,就著一盞橘黃光暈的檯燈,淺淺的茶香在屋裡瀰漫,一直重複聽著一曲音樂,在旋律中尋找著屬於自己的心境和共鳴。思緒在躍動的音符裡飄飛,驛動散亂的心,被絲絲縷縷的音律潤沁,漸趨漸穩。唯願做個閑適恬然的人,安靜地行走在文字和音樂之間,看雲捲雲舒,不問流年,不言寂寞。一座城市,一種心情,一種奢望。清清爽爽的風,盡情洒脫,讓腳步隨心的方向漂泊;尋尋覓覓的心,盡情落寞,讓思念隨碾碎的時光徜徉;真真切切的情,盡情渲染,一方明淨,一方溫情,一方空寂,任其紛飛,任其遠去,任其消失;惶然中,看盡繁華,看盡風景,卻

B 樹、B+ 型樹狀結構、B* 樹

內容來源自:http://blog.csdn.net/v_JULY_v/article/details/6530142 動態尋找樹主要有:二叉尋找樹、平衡二叉尋找樹、紅/黑樹狀結構、B樹/B樹的變形。前三者是典型的二叉尋找樹結構,其尋找的時間複雜度O(logn)與樹的深度相關,降低樹的深度自然會提高尋找效率在大規模資料存放區方面,大量資料存放區在外存磁碟中,而在外存磁碟中讀取/寫入塊(block)中某資料時,首先需要定位到磁碟中的某塊,如何有效地尋找磁碟中的資料,需要一種合理高效的外存資料結構,

HDOJ-1713-相遇周期

1. 題目中的Input描述是錯的,正確解釋為:輸入n/t,表示轉t圈需要n天。相遇周期T = 1 / fabs(t1/n1 - t2/n2),即:周期 = 路程差 / 速度差2. WA若干次,在Discuss中瞭解到,64-bit int在windows系統和Linux系統中輸入輸出格式是 I64d 還是 lld 的問題。在我的系統上用Dev C++測試後兩種格式都正確。說明與編譯器的版本和系統版本有關。這裡提交選擇G++/GCC則需要用 I64d 格式,否則,會WA。3.

一種不使用中間變數交換兩個變數的方法

1 #include <stdio.h> 2 3  int main() 4 { 5 int a, b; 6 7 a ^= b; 8 b ^= a; 9 a ^= b;10 11 return 0;12 }運用了異或的性質:兩個相同的數異或等於0,一個數與0異或等於自身,即:a^a = 0, a^0=a.缺點:只適用於32-bit以內的整型,PS:此性質還可以用來找出1...n,n個數中缺少的一個數. 1 #include <

隊列中取最大值操作

編程之美3.7隊列的常用操作只有兩個入隊列EnQueue(v)和出隊列DeQueue(v),這裡需要增加一個取最大值的操作,而且使時間複雜度儘可能的小考慮到之前遇到過的,為棧設計取最大值問題,只需要用另外一個棧來記錄當前棧中的最大值,當入棧時,如果入棧元素大於棧中最大元素則更新最大值,出棧時,如果出棧元素等於棧中最大元素則同時將記錄最值的棧出棧而隊列想要實現此功能則要複雜的多,想到可以借用棧來實現隊列的最值問題。用兩個棧A,B來類比隊列的出隊和入隊操作,入隊列時,將元素直接放入A棧中,出隊時,首

Codeforces Round #171 (Div. 2) A. Point on Spiral

#include<iostream>#include<math.h>using namespace std;int ABS(int a){return a>0?a:-a;}int main(){ int a,b; int flage; int turn; int temp,tempa,tempb; while(cin>>a>>b) { tempa=ABS(a); tempb=ABS(b);

atoi函數的實現

寫atoi函數的時候需要注意四點1. 字串前的空白2. 字串所表示數值的加號或減號3. 進位問題10, 16, 84. 結束條件,遇到非數字或者字元'\0'結束 1 #include <stdio.h> 2 3 int atoi(char * s) 4 { 5 int sign=1; 6 int result=0; 7 int base=10; 8 while(*s==' ' || *s=='\t') 9 s++;10 if(

0-1背包

1、 POJ 3211 Washing Clothes  分析:洗某種顏色的衣服的順序是任意的,問題可以轉化為,洗某種顏色衣服的最少用時;有兩個人可以同時洗,則要使兩個人的用時的差最小,即將總用時的1/2作為背包容量,求最接近1/2容量的那個值。 只有重量,沒有權值的0-1背包:   memset(f, -1, sizeof(f)); //初始化   f[0] = 0;    for (j=0; j<ct[i]; j++) {    for (int k=vol-time[i][j];

javabean 和 Enterprise JavaBean的區別和聯絡

javabean是一種java語言編寫的可重用組件。javabean的類必須是具體的和公開的,並且具有無參數構造器,javabean通過提供符合一致性設計模式(這和通常的設計模式不同,只是一種理念)的公用方法暴露內部域成員變數,通常是get/set方法JavaBean 和 Server Bean(通常稱為 Enterprise JavaBean (EJB))有一些基本相同之處。它們都是用一組特性建立,以執行其特定任務的對象,獲得其它特性的能力。這使得 bean

MaxHeap (poj2388)

//by zxfx100//(sizeof a = n) && (heap = a[1..n]) && (a[0] is null) && (range is int)class MaxHeap{public:int a[32768], n;void build(){ n = 0;}void insert(int element){ a[++n] = element; int i = n; while(i > 1)

總頁數: 61357 1 .... 4447 4448 4449 4450 4451 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.