我從大二上學期的時候學了數據結構,但是當時對數據結構的重要性並不太重視,直到在升大三的暑假,才意識到數據結構對以後學語言和找工作方面的重要性,所以亡羊補牢,為時未晚,嘗試著結合b站上王道考研數據結構課,來記錄自己對知識和代碼的理解。 數據結構學習的內容可以理解為,我們用代碼怎麼去把現實世界的問題高效 ...
我從大二上學期的時候學了數據結構,但是當時對數據結構的重要性並不太重視,直到在升大三的暑假,才意識到數據結構對以後學語言和找工作方面的重要性,所以亡羊補牢,為時未晚,嘗試著結合b站上王道考研數據結構課,來記錄自己對知識和代碼的理解。
數據結構學習的內容可以理解為,我們用代碼怎麼去把現實世界的問題高效的解決,來實現一種信息化。比如在電腦發展水平不太高的時代,我們去餐廳吃飯,需要耗費時間排隊,但是在信息化世界高速發展的時代,為瞭解決排隊時間長的問題,我們就會利用電腦實現網上提前預約的方式,來節省時間。
數據結構的基本概念是相互之間存在一種或多種特定關係的數據元素的集合。數據結構關註的是數據元素之間的關係和對這些數據元素的操作。比如在微信中,我們有很多個微信朋友,可能朋友之間互相也有聯繫,之間的關係可以畫出網狀圖來描述。
數據結構的三要素是邏輯結構,數據的運算,物理結構。
邏輯結構是指數據元素之間的邏輯關係是什麼,比如樹,圖等關係,這些關係我們自己可以手畫出來。
數據的運算是指對數據元素進行增刪改查的基本操作。
物理結構是指如何用電腦表示數據元素之間的邏輯關係,比如電腦在記憶體上以順序存儲或非順序存儲的方式表示。順序存儲就是指在物理上每個數據元素被劃分在一塊連續的記憶體空間中,比如abcde,只能是abcde的順序存儲。非順序存儲,可以是dacbe,也可以是babec,等其他順序。