數據結構學習筆記-----------------緒論
為了加深自己對數據結構的理解:所以這個專題下會記錄我的學習的筆記。
程序設計的實質:對確定的問題選擇一種好的結構,加上設計一個好的算法!
計算機解決一個具體的問題,需要經過下列幾個步驟:
一、從具體問題抽象出一個適當的數學模型。
二、設計一個解這個數學模型的算法。
三、編寫程序進行測試、調整直至得到最終解答。
數據結構:相互之間存在一種或多種特定關系的數據元素的集合。
根據數據元素之間關系的不同特性,通常有下列4類基本結構:
一、集合:結構中的數據元素處理“同屬於一個集合”的關系外,別無其它關系。
二、線性結構:結構中的元素存在一對一的關系
三、樹形結構:結構中的數據元素之間存在一對多的關系
四、圖狀或者網狀結構:結構中的數據存在多對多的關系
算法的五個重要特性:
一、有窮性
二、確定性
三、可行性
四、輸入
五、輸出
設計一個“好”的算法應考慮到以下目標:
一、正確性
二、可讀性
三、健壯性
四、效率與低存儲量要求
算法效率的度量:時間復雜度
算法存儲空間需求:空間復雜度
本文出自 “付煒超” 博客,謝絕轉載!
數據結構學習筆記-----------------緒論
相關推薦
數據結構學習筆記-----------------緒論
數據結構為了加深自己對數據結構的理解:所以這個專題下會記錄我的學習的筆記。 程序設計的實質:對確定的問題選擇一種好的結構,加上設計一個好的算法!計算機解決一個具體的問題,需要經過下列幾個步驟:一、從具體問題抽象出一個適當的數學模型。二、設計一個解這個數學模型的算法。三、編寫程序進行測試、調整直至得到最終解答。
數據結構學習筆記(二) 線性表的順序存儲和鏈式存儲
出錯 初始化 node != test span 輸入 des val 線性表:由同類型數據元素構成有序序列的線性結構 --》表中元素的個數稱為線性表的長度 --》沒有元素時,成為空表 --》表起始位置稱表頭,表結束位置稱表尾 順序存儲: 1 package
數據結構學習筆記-排序/隊/棧/鏈/堆/查找樹/紅黑樹
算法 數據結構排序:插入排序:每次從剩余數據中選取一個最小的,插入已經排序完成的序列中合並排序:將數據分成左右兩組分別排序,然後合並,對每組數據的排序遞歸處理。冒泡排序:重復交換兩個相鄰元素,從a[1]開始向a[0]方向冒泡,然後a[2]...當a[i]無法繼續往前擠的時候說明前面的更小了,而且越往前越小(擠
數據結構學習筆記(圖)
普裏姆算法 visit 復雜 jks 代碼 出現 creat 深度優先 只需要 一 (基本概念) 1.圖的定義:圖是由頂點的有窮非空集合和頂點之間邊的集合組成,通常
數據結構學習筆記(五) 樹的創建和遍歷
一個 後序遍歷 for -1 堆棧 nor ext cnblogs 復制 創建(先序創建和根據先序和中序進行創建)和遍歷(先序遍歷、中序遍歷、後序遍歷、非遞歸堆棧遍歷、層次遍歷): package tree; public class XianCreateTree
數據結構學習之一緒論和基本概念
源碼 day01 常用 進制數 區域 如果 比較 端午 棧和隊列 結束了常用設計模式的學習,有空的話我會把剩下的幾個模式發布上來,下一步計劃就是關於數據結構方面和源碼的學習,每天給自己安排了計劃,希望自己能如期執行 這一篇文章全部是關於我對數據結構理論的整理和個人見解,參考
數據結構學習筆記-----------------線性表
數據結構線性結構的特點:在數據的非空有限集中一、存在唯一一個被稱為“第一個”的數據元素二、存在唯一一個被稱為“最後一個”的數據元素三、除第一個之外,集合中每個數據元素均只有一個前驅四、除最後一個之外,集合中每個數據元素均只有一個後繼一個線性表是n個數據元素的有限序列序偶關系:兩個固定次序的客體組成一個序偶,它
數據結構學習筆記_0
存儲方式 進行 自動 什麽是 類型變量 數據類型 二叉 轉換 使用 什麽是數據結構 將生活中大量的復雜的問題轉化成特定的數據類型和特定的存儲結構存儲在主存儲器(內存)中。為了完成某個目標(排序,求和等)而執行特定的操作。 針對同一個目標,如果用不同的數據類型和存儲結構。
數據結構學習筆記之線性表
所有 圖片 指定 表頭 rem 過程 序列 位置 png 一、概念 什麽是線性表呢? 一個簡單的理解如下: 線性表是由稱為元素(Element)的數據項組成的一種有限且有序的序列 其中,這裏有一個需要註意的地方: 有序是指線性表中的每個元素都有自己的位置,而不是指線
數據結構學習筆記(一)數組
於平 style 動態 clas ram 添加元素 二次 pan exception 基本概念 所謂數組,是有序的元素序列。也就是把數據碼成一排存放的一種結構。 最大的優點 快速查詢,根據索引可以快速查找相應的元素 二次封裝自己的數組 一個數組應該具備的功能(並不固定,還可
數據結構學習筆記(目錄)
最大流 處理 雙鏈表 霍夫曼 回路 平衡樹 搜索樹 avl 目錄 數據結構真的是一個好東西,讓你又愛又恨,雖然學了一個學期,但是最後的考試內容和上課的東西一點關系都沒有,哭了,即使如此,還是來整理整理在數據結構課上學習過的算法吧 第一部分 線性結構 單鏈表 雙
數據庫學習筆記_10_函數依賴詳解——函數依賴公理及其推得規律和屬性閉包
一個 說明 tro ans while 比較 接下來 子集 and 首先引入armstrong‘s axioms, 反射律(reflexivity rule)對於任何為LA(a)子集的LA(b)來說,LA(a)->LA(b)恒成立 增加律(argu
數據庫學習筆記13_decomposition of bcnf ultimate version
version 處理 osi 哪裏 最大 color 方法 分表 不為 話說這本書也是夠奇怪的,前面義正詞嚴的講了一個decomposition method of BCNF然後後面又說這個方法並不充分……嘛,開講。 根據筆記10的內容,再拆分一個非BCNF的數據表
數據結構——樹筆記1
其余 劃分 right class log 並且 否則 -1 尋找 樹屬於非線性數據結構,它是一種層次結構:如果存在前驅節點,則是唯一的,如果存在後繼節點,則可以是多個。即樹的元素之間是一對多的關系。樹是由n個節點構成的有限集合T,如果n = 0,則是空樹,如果n不等於0,
《大話數據結構》筆記(7-3)--圖:圖的遍歷
結構 圖的遍歷 -- 前序遍歷 pan 鄰接矩陣 時間 earch img 第七章 圖 圖的遍歷 從圖中某一個頂點出發訪遍圖中其余頂點,且使每一個頂點僅被訪問一次,這一過程就叫做圖的遍歷(Traversing Graph)。 深度優先遍歷(Depth Fir
jquery類數組結構學習筆記
但是 typeof sar 原生 call 應該 產生 clas make 大家都知道我們使用$()產生的jquery對象可以使用下標去獲取對應下標的元素。 舉個栗子,一個頁面有5個div標簽,我們使用$("div")去獲取到這些元素,然後我們就可以使用$(
數據庫學習筆記 一
前言 空白 tro 移動 問題 最新版 oracl 程序員 防火墻 數據庫學習筆記 一 前言 作為程序員工作已經很長時間了,但是數據庫方面的能力真的是拿不出手,所以準備開始系統的學習一下數據庫知識。 我選擇的數據庫是微軟對的SqlServer(MSSQL) 最開始有一次我
數據庫學習筆記3 基本的查詢流 2
學習筆記 ast 裏的 cti post pla 排序 ace 數據庫 order by子句對查詢結果集進行排序 多列和拼接 多列的方式就很簡單了 select firstname,lastname from person.person order by lastna
基本數據結構學習總結: 二叉樹的遍歷
root 取出 後序 二叉 isnull 就是 bre 遞歸 use 二叉搜索樹的遍歷 二叉樹遍歷的內容很多,但是也是最重要的,最需要理解的,很多二叉樹的相關算法,只要用活了遍歷就沒有問題了 前序遍歷 對於每一棵樹,先遍歷其根節點,然後遍歷其左子樹,最後用同樣的方式遍歷
數據庫學習筆記 4 強大的SQL
執行 解決 女神 arch 一起 group by tinc arc div 其實這篇文章應該至少一個星期前就應該更新了,但是最近小猿我和喜歡了好多年的女神牽手成功,所以這些天有點飄。 ---創建表結構 create table tablename ( id i