程序基础:数据结构(郝斌讲解)(一)
開始寫博客,目標一周一個項目總結,可能是一個具體的問題的求解方法,也可能是一周的學習筆記,還可能是一個算法的實現。
從2013年開始補起來
本周學習重點
數據結構
什么是數據結構?
數據結構概述:數據結構,簡單的說是怎么把數據存在電腦里方便我們處理
1定義
書籍作者:嚴蔚明,吳偉民,高一凡,黃國瑜。
數據結構定義:
將現實中大量復雜的問題以特定的數據類型和特定存儲結構保存到我們的
主存儲器中 ,以及在此基礎上為實現某個功能而執行相應的操作,這個相應的操作也叫算法。
數據的存儲是很關鍵的問題,一個大的數據最好用鏈表。
通過計算機解決一個實際問題,將一個復雜的問題,
存儲到計算機中去。如何保存個體,如何保存個體與個體的屬性
屬性實體,如何保存。
數據結構=個體+個體的關系
算法=對存儲數據的操作。
從廣義上講,算法與數據沒關系,
狹義 有關系,泛型。
數組,圖,
每個元素拿出來。
操作依賴于存儲結構。
2算法
預備知識
模塊一:
一線性結構:
2.1連續存儲數組,離散存儲鏈表。
2.2線性結構的兩種常見應用之一——棧,隊列。
專題:遞歸。
1.1+2+3,求階乘,漢諾塔,走迷宮。
二非線性結構
1樹,
2圖。
三查找和排序
折半和排序:冒泡,插入,選擇,快速,歸并。
Java中容器和數據結構相關知識。
Iterator 借口,map,哈希表。
2衡量算法的標準,解題方法和步驟。
2.1時間復雜度
大概程序要運行的次數,程序速度快。
2.2空間復雜度
算法運行過程中大概所占用的最大內存2.3易讀性
別人能不能很清晰的看懂你的程序。
2.4健壯性
識別非法輸入。
三
數據結構的特點
數據結構是軟件中最核心的課程。
棧內存與堆內存的區別,內存分配方法的不同。
語法是語句的樹。
數據庫和數據結構的差別。
數據庫簡化版。
數據的存儲問題,字段,記錄,表。
實物與實物的關系。
學了以后和沒學沒什么區別。
程序=數據的存儲+數據的操作+可以被計算機執行的語言
預備知識。
數據結構
很重要,難度很大,但沒啥具體用處。
四
數據結構的學法:
1 寫偽代碼。
2 通過一個語言去實現你的偽代碼。
高深的圖算法,鏈表是前提。
C語言指針講的少。
指針,結構體,動態內存的分配和釋放。
線性鏈表。
鏈表的基本操作。
看這個很難,但看懂后會有種,自我挑戰的快感。
爭取了解指針的一部分。
總結
以上是生活随笔為你收集整理的程序基础:数据结构(郝斌讲解)(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nio和bio的原理_Java的BIO,
- 下一篇: 进程管理程序java,运维经验分享(四)