数据结构学习笔记(2)
????4. 抽象數據類型
????????抽象數據類型簡稱ADT(Abstract Data Type),是指一個數學模型以及定義在該模型上的一組操作。
????5. 抽象數據類型的作用
????????以淺顯易懂的語言描述某一個數學模型的操作流程,而且只要其數學特性不變,都不會影響外部使用。
????6. 算法基礎
????(1)算法有哪幾個特性?
????????????a. 有窮性——在有窮步之后結束
????????????b. 確定性——不存在二義性
????????????c. 可行性——能夠在計算機中執行
????????????d. 輸入——有零個或多個輸入
????????????e. 輸出——有一個或者多個輸出。沒有輸出的算法是沒有意義的。
????(2)算法和計算機程序的區別是什么?
????????????算法是一種思維過程,不局限于任何一種編程語言;而計算機程序則是由一種確定的編程語言所編寫,是算法的具體實現形式。
? ??(3)一個好的算法應該具備哪些特性?
????????????a. 正確性;
????????????b. 可讀性;
????????????c. 健壯性;
????????????d. 通用性;
????????????e. 效率與存儲量要求——效率指的是采用該算法的程序執行的時間;存儲量需求指的是采用該算法的程序在執行過程中所需要的最大存儲空間。一般來說,這與問題的規模有關。
????(4)與算法時間復雜度有關的多項式的大小比較
????????????O(1)<O(㏒n)<O(n)<O(n㏒n)<O(n的平方)<O(n的三次方);
????????????指數關系為:O(2的n次方)<O(n!)<O(n的n次方)。
? ? (5)算法的空間復雜度是指什么?
????????????是指算法編寫成程序之后,在計算機中運行時所需存儲空間大小的度量。記作S(n)=O(f(n)),其中n為問題的規模。而存儲空間則一般包三個方面:
????????????a)指令常量變量所占用的存儲空間;
????????????b)輸入數據所占用的存儲空間;
????????????c)輔助空間。
????????????一般的,算法的空間復雜度指的是輔助空間。
轉載于:https://blog.51cto.com/kylepeng/1734347
總結
以上是生活随笔為你收集整理的数据结构学习笔记(2)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 获取当前View
- 下一篇: Echarts使用笔记