第二學習筆記

2021-09-28 21:37:29 字數 1350 閱讀 6764

我是在大話資料結構學的,所以可能會和培訓的不太一樣

用例子解釋資料的基本概念:

資料物件就像是人類這個群體

資料元素就是全部人類中的乙個人

資料項就是乙個人的姓名,生日,身高等等特點。所以,資料項就像是集合裡的元素一樣,是資料不可分割的最小單位

所以,其實這些概念就是包含與被包含的關係,也就是集合

資料結構

分為邏輯結構和物理結構

邏輯結構:資料元素之間的相互關係,就像人與人之間的各種關係。分為線性結構,樹形結構,圖形結構,集合結構。

物理結構:其實就是資料的相互關係在計算機中的儲存形式,分為順序儲存和鏈式儲存。順序儲存就是一排人按順序站隊,乙個序號對乙個人。但是這條隊是在乙個固定的地方固定的大小排的。而鏈式儲存就是人在隨意乙個地方排隊,但是,除了最後乙個人,每個人都擁有後乙個人所在地方的位址,也就是指標,從而,使不同地方排隊的人也擁有相互的關係。

資料型別:是指一組性質相同的值的集合及定義在此集合上的一些操作的總稱。

是按照不同的值進行劃分的

比如我們從宿舍去教學樓,可以用單車也可以用小汽車更可以用飛機。但是,對於也不算長的路程,明顯用後兩者太沒必要,又耗資源。所以,選取自行車就可以了。也就是說,在不同的情況下,用適合的型別就可以了。這就是資料型別。

抽象資料型別就是資料型別的本質,就是那些操作的本質。

就像上面那個例子,無論是單車,小車還是飛機去教學樓。其實就是用交通工具。這就是本質。

:其實就是解決特定問題的求解步驟。

五個基本特性:輸入,輸出,有窮性,確定性和可行性

演算法設計的要求:正確性,可讀性,健壯性,時間效率高和儲存量低

對於演算法時間複雜度,其實就是看乙個演算法要去走多少次才可以得出結果。

而演算法時間複雜度用大o階來表示。

1.如果演算法走的次數直接是乙個常數,那麼就直接用o(1),不會出現什麼o(2)、o(3)之類的。

2.如果出現x的三次方+x的二次方 之類的,只要保留最高次項,也就是。

3最**前的數字只要不是1,直接去除。

線性表是從邏輯結構的角度來說的,除了頭和尾之外,它的每乙個元素都只有乙個前驅元素和乙個後驅元素。各種佇列(單向、雙向、迴圈佇列),棧等都是線性表的不同例子。

而陣列是從物理存貯的角度來說的,線性表可以用陣列存貯也可以用鍊錶來存貯。同樣的佇列和棧也可以用陣列和鍊錶存貯,各有利弊。具體使用時,根據具體情況選擇。

在學線性表時,其實概念還是比較好理解的,最難的還是各類專業英語詞彙,各類詞彙代表的意思,很難記住。並且,雖然其表達的操作都很簡單但是,當你想組成乙個複雜的操作時,就很難來組合。所以多練可能是唯一學會學精線性表的辦法。

第二週學習筆記

從課堂上的內容大體可以歸為如上,概念模型因為在具體使用當中較少接觸故簡單介紹其優點。下面將用較大篇幅詳細討論e r模型的實際使用和visio表示的意義。首先,要明白圖表中不同方框代表什麼,方框代表實體,而橢圓框代表屬性,那麼什麼是實體什麼又是屬性呢,那讓我們用乙個簡單的關係圖表來了解一下。這是乙個典...

第二週 學習筆記

1.介紹 sqlconnection是ado.net中的連線類。使用sqlconnection 類可以連線到sql server資料庫。2.主要屬性 connectionstring 連線字串 3.建立sqlconnection物件 可以使用定義好的連線字串建立sqlconnection物件。如下 ...

第二章學習筆記

在c 中,陣列下標從0開始,而不是1.c 不支援陣列的抽象,也不支援對整個陣列的操作。在c 中,物件可以靜態分配 即編譯器在處理程式源 時分配,也可以動態分配 即程式執行時,用執行時刻庫函式來分配。靜態與動態記憶體分配的兩個主要區別是 1 靜態物件是有名字的變數,可以直接對你進行操作。而動態物件是沒...