第一章什麼是資料結構,什麼是演算法

2021-06-10 01:28:47 字數 1048 閱讀 9035

一開始就來一些概念性的東西,其實並不是讓人接受的方法,所以這裡概念只是簡單的提一提而已,可以用一種比較偏激的方式去理解它,到日後慢慢的再一點點的體會就可以了,我一直覺得學習程式設計,很多人說要先學好基礎,但是其實很多基礎是在於你應用了之後才能夠真正明白的,演算法與資料結構就是這樣一門科學,光看當時是看懂了,可是有用嗎,有,不過是當下,之後你就會忘得一乾二淨,怎麼辦呢,不要只是看,真的不要只是看,我現在很後悔投機取巧,一開始沒有付出實踐,到後面當你再次需要的時候,你會發現,這個東西我以前明明懂得,可是現在怎麼就不懂,會有很多的懊惱,然後對自己懷疑,所以不要只是看,動手吧孩子。

好了廢話少說了,下面就是幾個我認為有必要提一提的概念

一, 資料結構分為物理結構和邏輯結構

資料結構裡的邏輯結構::集合,線性,樹形,圖形

資料結構裡的物理結構:順序,鏈式,索引,雜湊(雜湊)

注:對於一種資料結構,其邏輯結構是唯一的,但是它可能對應著多種儲存結構

二,演算法:指資料結構+程式設計

,演算法的5個重要特徵

1,有窮性(可以簡單的這麼理解,有窮,當然是要求程式有開始也得有結束,不能無時無刻的執行下去,不然演算法沒有結果有什麼意義呢?)

2,確定性(可以簡單的這麼理解,確定,當然是要求程式的演算法結果是確定的,不可能自己寫的演算法到最後它的結果是你意料以外的吧?)

3,可行性(可以簡單的這麼理解,可行,當然是要求程式的執行條件是可行的,如果你的程式演算法要求無限量的儲存空間之類的,那這個演算法就沒有意義了)

4,輸入

5,輸出

四,演算法的設計要求

1,正確性(正確性不用多說了,演算法如果設計出來時錯的那要來幹嘛)

2,可讀性(可讀性是要你考慮,你的演算法不是只給自己看,還要別人也能看的懂)

3,健壯性(健壯性,這個也容易理解,寫了演算法用一次出三次bug有意義嗎?)

4,效率與低儲存量要求(這個也容易理解,你乙個演算法要用乙個地球的容量是完全沒有意義的)

第一章 什麼是TCP IP

要回答什麼是協議,首先要回答什麼是網路。網路是計算機之間通過常用的傳輸介質 絕緣的金屬導線 線 無線網路 不需要線路 進行通訊的集合。網路協議就是一套通用規則,用來幫助定義複雜資料傳輸的過程。tcp ip 協議定義了網路通訊的過程,定義了資料單元的格式和內容,以便接收計算機能夠正確解釋接收到的訊息。...

《什麼是數學》第一章習題

1.用以a 2,3,15為底,給0到1000的數字起名字,需要多少個不同的數字的名稱?哪一種基底要求的數字名稱最少?寫了個小程式來測試,答案是4,需要8個數字名稱.include define start base 2 define base limit 16 define number 1001 ...

Qt學習 第一章 什麼是Qt

qt是乙個跨平台的c 圖形使用者介面應用程式框架。它為應用程式開發者提 供建立藝術級圖形使用者介面所需的所有功能。它是完全物件導向的,很容易擴充套件,並且允許真正的元件程式設計。qt支援的平台有 windows xp vista win7 win8 win2008 unix x11 linux su...