【數據結構】0_啓航,新的目標

問題:爲何要學士數據結構這門課程?算法

學員的常見問題編程

  • 語言學習結束以後是否有能力進行項目開發?
  • 當面對一個問題的時候如何思考解決方案?
  • 如何評價代碼效率的高低好壞?
  • 怎樣才能提升本身的編程能力?
  • 。。。

數據結構的意義

培養專業的程序設計思惟
訓練使用程序語言描述解決方案的能力
計算機專業的基礎課
算法分析專業課的先修課程
問題:數據結構等於算法?
- 數據結構是算法的基礎先修課程

另外一個值得思考的問題:
現代的程序設計語言開發包中都有數據結構和經常使用算法的完整實現,是否是掌握如何使用就能夠了?數組

知其然,知其因此然!

  • 排序的時候,如何選擇排序算法?
  • 單鏈表就夠用了,爲何還要雙鏈表?
  • 最短路徑的算法跟有名,爲何不多在項目中使用?
  • 遞歸就是函數本身調用本身,這樣詭異的作法有什麼用?

不降低序列問題:數據結構

設由n個數組成的數列,即爲:a[1]、a[2],...、a[n],若存在i1<i2<...im 知足:
a[i1] <= a[i2]<= ... <= [aim],則稱爲長度爲m的不降低序列。

例如:3,18,7,14,10,12,23,41,16,24
則:
> 3,18,23,24 是一個長度爲4的不降低序列
> 3,7,10,12,16,24 是一個長度爲6的不降低序列

問:
    如何求最長不降低序列?
    如何求左右不降低序列?
    如何求指定長度不降低序列?

專業程序源的培養路線

image.png

數據結構基礎功底在職場中的做用

  • 對於職場新人函數

    • 大型軟件企業招聘必考數據結構
  • 對於職場老人學習

    • 提出並實現解決問題的關鍵方案是價值的體現

課程目標

建立可複用的數據結構軟件庫
分析並優化C++課程中建立的實用類

使用的技術

C++面向對象技術 C++模板技術 C++異常處理技術
相關文章
相關標籤/搜索