資料結構概述:
定義:
我們如何把現實中大量而複雜的問題以特定的資料型別和特定的儲存結構儲存到儲存到主儲存器(記憶體)中,
以及在此基礎上為實現某個功能(比如查詢某個元素,刪除某個元素,對所有元素進行排序)而執行相應的操作,
這個相應的操作也叫演算法
資料結構 = 個體 + 個體的關係
演算法 = 對儲存資料的操作
演算法:
解題的方法和步驟
衡量演算法的標準:
1.時間複雜度:大概要執行的次數,而非執行的時間(最重要的)
2.空間複雜度:演算法執行過程中大概所占用的最大記憶體(最重要的)
3.難易程度
4.健壯性
資料結構的地位:資料結構是軟體中最核心的課程
程式 = 資料的儲存 + 資料的操作 + 可以被計算機執行的語言
預備知識:
指標:
指標的重要性:指標是c語言的靈魂
定義:
指標:
指標就是位址,位址就是指標
指標變數是存放記憶體單元位址的變數
指標的本質是乙個操作受限的非負整數
資料結構學習筆記(持續更新中)
一般來說,計算機解決乙個具體問題時,大致需要經歷以下幾個步驟 然而,在建立數學模型這一過程中,有很多非數值的問題無法用數學模型加以描述。資料結構是一門研究非數值運算的學科。例如資料是人類,資料元素就是人,眼耳鼻嘴是資料項。性質相同的意思是資料元素有相同數量和型別的資料項,比如姓名相同的人。資料結構的...
資料結構學習 線性結構部分,持續更新
1.線性表 1.1 定義 n個資料元素的有限序列,最常用最簡單的資料結構 線性表中元素的個數定義為線性表的長度,n 0的時候為空表 線性表的資料元素不僅可以進行訪問,還可以進行插入和刪除等。1.2 線性表的順序表示指的是用一組位址連續的儲存單元依次儲存線性表的資料元素 1.3 線性表的鏈式表示指用一...
資料結構學習備忘錄(持續更新)
概念性問題 在鍊錶中引入頭結點可以使頭指標永遠不空。方便插入和刪除運算的實現。線性表採用鏈式儲存時,結點和結點內部的儲存空間必須是連續的。有價值的 高效刪除順序表中值為e的所有元素的 void del sqlist l,elemtype e l length l length k 修改表的長度 對於...