資料結構與演算法(java版)
轉自:http://blog.csdn.net/column/details/datastructureinjava.html
目錄
(1)資料結構與演算法概念解析
(2)資料結構之陣列
(3)資料結構之棧
(4)資料結構之佇列
(5)資料結構之連結串列
(6)資料結構之二叉樹
(7)資料結構之霍夫曼樹
(8)資料結構之紅黑樹(一)——基礎分析
(9)資料結構之紅黑樹(二)——插入操作
(10)資料結構之紅黑樹(三)——刪除操作
(11)排序演算法(一)——氣泡排序及改進
(12)排序演算法(二)——選擇排序及改進
(13)排序演算法(三)——插入排序及改進
(14)排序演算法(四)——歸併排序與遞迴
(15)排序演算法(五)——快速排序
(16)排序演算法(六)——希爾排序
(17)排序演算法(七)——堆排序
(18)排序演算法(八)——基數排序
(19)排序演算法(九)——八大排序演算法總結
相關推薦
資料結構與演算法(java版)
轉自:http://blog.csdn.net/column/details/datastructureinjava.html 目錄 (1)資料結構與演算法概念解析 (2)資料結構之陣列 (3)資料結構之棧 (4)資料結構之佇列 (5)資
資料結構與演算法(Java描述)-20、圖、圖的鄰接矩陣、有向圖的廣度優先遍歷與深度優先遍歷
一、圖的基本概念圖:是由結點集合及結點間的關係集合組成的一種資料結構。結點和邊:圖中的頂點稱作結點,圖中的第i個結點記做vi。有向圖: 在有向圖中,結點對<x ,y>是有序的,結點對<x,y>稱為從結點x到結點y的一條有向邊,因此,<x,y>與<y,x>是兩條不同的邊。有向圖
資料結構與演算法(Java描述)-15、稀疏矩陣以及稀疏矩陣的三元組實現
一、稀疏矩陣 對一個m×n的矩陣,設s為矩陣元素個數的總和,有s=m*n,設t為矩陣中非零元素個數的總和,滿足t<<s的矩陣稱作稀疏矩陣。符號“<<”讀作小於小於。簡單說,稀疏矩陣就是非零元素個數遠遠小於元素個數的矩陣。相對於稀疏矩陣來說,一個不稀疏的矩陣也稱作稠密矩陣。
為什麼我要放棄javaScript資料結構與演算法(第一章)—— JavaScript簡介
資料結構與演算法一直是我算比較薄弱的地方,希望通過閱讀《javaScript資料結構與演算法》可以有所改變,我相信接下來的記錄不單單對於我自己有幫助,也可以幫助到一些這方面的小白,接下來讓我們一起學習。 第一章 JavaScript簡介 眾所周知,JavaScript是一門非常強大的程式語言,不僅可以用於
為什麼我要放棄javaScript資料結構與演算法(第二章)—— 陣列
第二章 陣列 幾乎所有的程式語言都原生支援陣列型別,因為陣列是最簡單的記憶體資料結構。JavaScript裡也有陣列型別,雖然它的第一個版本並沒有支援陣列。本章將深入學習陣列資料結構和它的能力。 為什麼用陣列 需求:儲存所在城市每個月的平均溫度,可以這麼實現 var averageTemp1 = 43.3;
資料結構與演算法(C語言) | 二叉排序樹
二叉排序樹的定義—— 二叉排序樹 ( Binary Sort Tree) 或者為空;或者是具有如下特性的二叉樹: (1)若根的左子樹不空,則左子樹上所有結點的關鍵字均小於根結點的關鍵字; (2)若
資料結構與演算法(十二)並查集(Union Find)
本文主要包括以下內容: 並查集的概念 並查集的操作 並查集的實現和優化 Quick Find Quick Union 基於size的優化 基於rank的優化 路徑壓縮優化 並查集的時間複雜度 並查集的概念 在電腦科學中,並查集 是一種樹形的資料結
資料結構與演算法分析Java版pdf
下載地址:網盤下載本書是國外資料結構與演算法分析方面的經典教材,使用卓越的Java程式語言作為實現工具討論了資料結構(組織大量資料的方法)和演算法分析(對演算法執行時間的估計)。本書把演算法分析與最有效
走進資料結構和演算法(c++版)(3)——線性表的鏈式儲存結構
線性表的鏈式儲存結構 我們知道線性表的順序儲存結構在插入和刪除操作時需要移動大量的資料,他們的時間複雜度為O(n)O(n)。當我們需要經常插入和刪除資料時,順序儲存結構就不適用了,這時我們就需要用到線性表的鏈式儲存結構。 線性表的鏈式儲存結構的特點是
資料結構與演算法(C語言) | 線性表(順序儲存、鏈式儲存)
線性表是最常用最簡單的線性結構 線性結構具有以下基本特徵: 線性結構是一個數據元素的有序(次序)集(處理元素有限)。若該集合非空,則 1)必存在唯一的一個“第一元素”; 2)必存在唯一的一個“最後元素”; 3)除第一元素之外,其餘每個元素均有唯一的前
資料結構與演算法(JavaScript實現)
1.如何在陣列中間位置新增陣列function avaerageAdd(){ var nums = [1,2,3,4,5,6,7,8]; var newElements = [233,666]; nums.splice.apply(nums, [Math.floo
資料結構與演算法(十一)Trie字典樹
本文主要包括以下內容: Trie字典樹的基本概念 Trie字典樹的基本操作 插入 查詢 字首查詢 刪除 基於連結串列的Trie字典樹 基於Trie的Set效能對比 LeetCode相關線段樹的問題 LeetCode第208號問題 LeetCode第211
《資料結構與演算法分析:Java語言描述(第2版)》電子書下載 -(百度網盤 高清版PDF格式)
作者:韋斯 (Mark Allen Weiss) 馮舜璽 (譯) 出版日期:2009年1月1日 出版社:機械工業出版社 頁數:400頁 ISBN:9787111231837 檔案格式:PDF 檔案大小:15.95 MB
學習JavaScript資料結構與演算法(第2版).epub
【下載地址】 本書首先介紹了JavaScript 語言的基礎知識以及ES6 和ES7 中引入的新功能,接下來討論了陣列、棧、佇列、連結串列、集合、字典、散列表、樹、圖等資料結構,之後探討了各種排序和搜尋演算法,包括氣泡排序、選擇排序、插入排序、歸併排序、快速排序、堆排序、
資料結構與演算法(2)—— 棧(java)
1 棧的實現 1.1 簡單陣列實現棧 package mystack; public class ArrayStack { private int top; //當前棧頂元素的下標 private int[] array; public ArraySt
資料結構與演算法(3)- C++ STL與java se中的vector
宣告:雖然本系列部落格與具體的程式語言無關。但是本文作者對c++相對比較熟悉,其次是java,所以難免會有視角上的偏差。舉例也大多是和這兩門語言相關。 上一篇部落格概念性的介紹了vector,我們有了大致的印象:vector不過就是看上去可以自增長的陣列麼。這篇部落格將稍微
【JAVA面試】JAVA常考點之資料結構與演算法(1)
JAVA常考點之資料結構與演算法(1) JAVA常考點之資料結構與演算法 目錄
資料結構與演算法分析-Java描述(2)-插入排序
插入排序有兩種演算法:直接插入排序和希爾排序 直接插入排序 原理:插入即表示將一個新的資料插入到一個有序陣列中,並繼續保持有序。 該排序演算法的外部迴圈為遍歷全部元素,內部迴圈為遍歷當前外部迴圈記錄元素的前面所有數字。 public static void inse
資料結構與演算法(3)—— 佇列(java)
1 陣列實現的佇列 public class ArrayQueue { private String[] items; private int n=0; //陣列的大小 private int head
Java資料結構與演算法(一)
一、學習資料結構與演算法的目的 預估程式在大量的資料集上執行時需要的時間成本和空間成本。 二、遞迴簡介 遞迴的四條基本法則: 一個簡單的遞迴案例: 三、實現泛型特性構建 pre-java5 1.引入泛