計算機軟體技術基礎的學習(1):資料結構
阿新 • • 發佈:2018-12-26
本文為大三下學習《計算機軟體技術基礎》的知識點
一、------------資料結構:研究非數值運算(資料元素之間的關係)的程式設計------------------------------------
(1)線性表:
順序儲存和鏈式儲存
線性表的增刪改查
(2)棧與隊:
順序和鏈式
棧與隊的操作
(3)計算與分析程式的時間複雜度和空間複雜度:
時間複雜度:程式執行中執行次數最多的語句的次數
如:O(n^k)、O(nlog2(n))、O(x^n)
空間複雜度:程式執行所需要的輔助單元(原始資料佔用的空間除外)
(4)數與二叉樹
樹的結點、結點的度、結點的層次、深度、葉子、孩子、兄弟、雙親
二叉樹的遍歷:先序中序後序遍歷
二叉排序樹:左子樹 < 右子樹
哈夫曼樹以及哈夫曼編碼:帶權路徑最短的樹
(5)圖:頂點和頂點關係的集合
有向和無向圖、度和入度以及出度、鄰接矩陣、鄰接表
圖的遍歷:深度和廣度優先搜尋
圖的應用:單源最短路徑
(6)查詢:對分查詢、雜湊表
雜湊表:
構造雜湊表:數字分析法、平方取中法、除留餘數法
解決衝突的方法:線性探測再雜湊、平方探測再雜湊、隨機探測再雜湊、鏈地址法
(7)排序:
簡單選擇排序、堆排序、線性插入排序、交換排序、氣泡排序、快速排序