1. 程式人生 > >數據結構學習記錄_2019.02.10

數據結構學習記錄_2019.02.10

一對多 復雜度分析 分析 一個 上界 空間 程序 size 時間

  • 樹的結構:一對多的結構
  • 圖的結構:多對多的結構
  • 面向對象的語言:C++,java等語言
  • 類:某一個數據及其跟它相關的一些數據的封裝
  • 常用英文單詞:列數:columns;行數:raws;
  • 抽象數據類型:不關心具體的類型、大小、形式,而是在概念上對其進行相關的操作,是一個概括的過程;抽象為上一層提供操作元素,而元素的操作規則及相應處理合成封裝一個抽象,幫助程序員解決在他相應層面需要解決的事情,不用關心具體實現
  • 算法:Algorithm
  • 遞歸函數的循環調用,因為會不斷存儲暫態直至遇到結束條件,因此隨著N的不斷增長,會導致占用空間太大從而程序無法正常運行;
  • 機器運算加減法的速度比乘除法的速度要快很多;因此某一程序運行的時間復雜度主要取決於乘除法的時間;
  • 好的算法評估:最壞情況復雜度;平均復雜度;
  • 復雜度排序:1<logn<n<nlogn<n^2<2^n<n!;盡量降低復雜度;
  • 兩段算法復雜度分析:(1)算法相加,則復雜度為較大的那個復雜度上界;(2)算法相乘,則復雜度為兩個復雜度上界相乘;(3)k階多項式真正起作用的只有階數最大的那一項;(4)for循環的復雜度=循環的次數*循環體代碼的復雜度;(5)if-else的復雜度取if條件判斷復雜度及兩個分支的復雜度這3者中最大的那個復雜度;

數據結構學習記錄_2019.02.10