1. 程式人生 > >資料結構與演算法學習(一)

資料結構與演算法學習(一)

資料結構概述
定義:我們如何將現實生活中大量而複雜的問題以特定的資料型別(個體的儲存)和儲存結構(個體關係)儲存到主儲存器(記憶體),以及在此基礎上為實現某個功能(查詢某個元素,刪除某個元素,對所有元素排序等)而執行相應的操作,這個相應的操作,就是演算法。(儲存和操作)
資料結構 = 個體 + 個體關係
演算法 = 對儲存資料的操作
演算法:
解題的方法和步驟
衡量演算法的標準
1、時間複雜度
大概程式要執行的次數,而非執行的時間
2、空間複雜度
演算法執行過程中大概所佔用的最大記憶體
3、難易程度
4、健壯性
資料結構的地位
資料結構是軟體中最核心的課程
程式 = 資料的儲存 + 資料的操作 + 可以被計算機執行的語言
預備知識
指標
指標是c語言的靈魂
地址:記憶體單元的編號,從0開始的非負整數
指標:指標就是地址,地址就只指標
指標變數:儲存記憶體單元地址的變數
指標實質是一個受限操作的非負整數
使用被調函式來修改主調函式中普通變數的值:
實參必須是變數的地址
形參必須是主調變數型別的指標變數
被調函式中,使用*形參變數名的方式來修改主調函式中普通變數的值
結構體
動態記憶體的分配和釋放