資料結構

子主題

紅黑樹
理解 Golang 的 map 資料結構設計 資料結構|Go

理解 Golang 的 map 資料結構設計

定義golang 中的 map 就是常用的 hashtable,底層實現由 hmap,維護著若干個 bucket 陣列,通常每個 bucket 儲存著8組kv對,如果超過8個(發生hash衝突時),會
樹狀資料結構儲存方式—— CUD 篇 資料結構

樹狀資料結構儲存方式—— CUD 篇

前文簡單介紹了巢狀集合的資料模型,以及查詢的方法,傳送門: 樹狀資料結構儲存方式——查詢篇Create在巢狀集合模型中,每個資料其實就是一個節點 (node),而每個節點佔用2個位值,比如我們先新增一
樹狀資料結構儲存方式——查詢篇 資料結構

樹狀資料結構儲存方式——查詢篇

鄰接列表模型在日常業務開發中,我們常常會碰見一些具有層次結構的樹狀資料。而在用關係型資料庫儲存時,往往將這種資料結構以一種稱為鄰接列表的模型進行儲存,像這樣:CREATE TABLE `categor
資料結構之並查集 資料結構

資料結構之並查集

定義並查集是電腦科學中為了解決集合之間的合併和查詢操作而存在的一種樹型資料結構。並查集是由若干個大小不同的子樹來儲存表示的,也可以把整個並查集的儲存結構叫做森林,每顆子樹表示一個集合。集合的數量又叫做
複雜的資料結構設計求解? 資料結構

複雜的資料結構設計求解?

專案:活動計算成績排名。建立一個活動:1.可以自定義建立需要記錄的成績項(比方說: 時間,距離,)一個專案可以從多個維度來記錄各類成績2.可以自定義多少節(每一小節都需要記錄自定義的成績記錄項。)3.
前端該如何準備資料結構和演算法? 前端|演算法|資料結構

前端該如何準備資料結構和演算法?

一、導讀據我瞭解,前端程式設計師有相當一部分對“資料結構”和“演算法”的基礎概念都不是很清晰,這直接導致很多人在看到有關這部分的內容就會望而卻步。實際上,當你瞭解了“資料結構”和“演算法”存在的真正意
Salt Highstate資料結構定義 資料結構

Salt Highstate資料結構定義

作者言這篇文件詳細解釋了SLS檔案中,每個部分的名稱與含義,以及SLS中的資料處理後的資料結構。我只是SaltStack的初學者,如果文中有錯誤的地方,請不吝賜教。在學習的過程,我做了一些實驗,犯了不
JavaScript資料結構——圖的實現 資料結構|JavaScript

JavaScript資料結構——圖的實現

在電腦科學中,圖是一種網路結構的抽象模型,它是一組由邊連線的頂點組成。一個圖G = (V, E)由以下元素組成:V:一組頂點E:一組邊,連線V中的頂點  下圖表示了一個圖的結構:  在介紹如何用Jav
演算法與資料結構基礎 - 分治法(Divide and Conquer) 演算法|資料結構

演算法與資料結構基礎 - 分治法(Divide and Conquer)

分治法基礎分治法(Divide and Conquer)顧名思義,思想核心是將問題拆分為子問題,對子問題求解、最終合併結果,分治法用虛擬碼表示如下:function f(input x size n)
演算法與資料結構基礎 - 排序(Sort) 演算法|資料結構

演算法與資料結構基礎 - 排序(Sort)

排序基礎排序方法分兩大類,一類是比較排序,快速排序(Quick Sort)、歸併排序(Merge Sort)、插入排序(Insertion Sort)、選擇排序(Selection Sort)、希爾排
資料結構與演算法-複雜度分享&大 O 演算法 演算法|資料結構

資料結構與演算法-複雜度分享&大 O 演算法

一. 大 O 表示法,分析時關注原則:只關注迴圈次數最多的一段程式碼加法原則:總複雜度等於量級最大那段程式碼複雜度乘法原則:巢狀程式碼的複雜度等於巢狀程式碼內外複雜度的乘積二.線性表結構陣列   陣列
演算法與資料結構基礎 - 連結串列(Linked List) 演算法|資料結構

演算法與資料結構基礎 - 連結串列(Linked List)

連結串列基礎連結串列(Linked List)相比陣列(Array),物理儲存上非連續、不支援O(1)時間按索引存取;但連結串列也有其優點,靈活的記憶體管理、允許在連結串列任意位置上插入和刪除節點。單
JavaScript資料結構——字典和雜湊表的實現 資料結構|JavaScript

JavaScript資料結構——字典和雜湊表的實現

在前一篇文章中,我們介紹瞭如何在JavaScript中實現集合。字典和集合的主要區別就在於,集合中資料是以[值,值]的形式儲存的,我們只關心值本身;而在字典和雜湊表中資料是以[鍵,值]的形式儲存的,鍵
圖解Redis之資料結構篇——壓縮列表 資料結構|Redis

圖解Redis之資料結構篇——壓縮列表

前言    同整數集合一樣壓縮列表也不是基礎資料結構,而是 Redis 自己設計的一種資料儲存結構。它有點兒類似陣列,通過一片連續的記憶體空間,來儲存資料。不過,它跟陣列不同的一點是,它允許儲存的資料
演算法與資料結構基礎 - 雜湊表(Hash Table) 演算法|資料結構

演算法與資料結構基礎 - 雜湊表(Hash Table)

Hash Table基礎雜湊表(Hash Table)是常用的資料結構,其運用雜湊函式(hash function)實現對映,內部使用開放定址、拉鍊法等方式解決雜湊衝突,使得讀寫時間複雜度平均為O(1
JavaScript資料結構——集合的實現與應用 資料結構|JavaScript

JavaScript資料結構——集合的實現與應用

與數學中的集合概念類似,集合由一組無序的元素組成,且集合中的每個元素都是唯一存在的。可以回顧一下中學數學中集合的概念,我們這裡所要定義的集合也具有空集(即集合的內容為空)、交集、並集、差集、子集的特性
資料結構(一)--- 跳躍表 資料結構

資料結構(一)--- 跳躍表

1、簡述跳躍表(skiplist)是一種優秀的資料查詢結構,查詢原理類似於2分查詢,平均的查詢時間複雜度為O(logN);其底層基於連結串列實現,但區別在於含有多層,每個節點的每層都有指向表尾方向最近
jdk1.8原始碼解析:HashMap底層資料結構之連結串列轉紅黑樹的具體時機 資料結構|紅黑樹

jdk1.8原始碼解析:HashMap底層資料結構之連結串列轉紅黑樹的具體時機

前言  本文從三個部分去探究HashMap的連結串列轉紅黑樹的具體時機:    一、從HashMap中有關“連結串列轉紅黑樹”閾值的宣告;    二、【重點】解析HashMap.put(K key,
圖解Redis之資料結構篇——整數集合 資料結構|Redis

圖解Redis之資料結構篇——整數集合

前言    整數集合(intset)並不是一個基礎的資料結構,而是Redis自己設計的一種儲存結構,是集合鍵的底層實現之一,當一個集合只包含整數值元素,並且這個集合的元素數量不多時, Redis i就
【資料結構】B樹、B+樹詳解 資料結構

【資料結構】B樹、B+樹詳解

B樹前言    首先,為什麼要總結B樹、B+樹的知識呢?最近在學習資料庫索引調優相關知識,資料庫系統普遍採用B-/+Tree作為索引結構(例如mysql的InnoDB引擎使用的B+樹),理解不透徹B樹
資料結構複雜圖形儲存 PHP 版 資料結構|PHP

資料結構複雜圖形儲存 PHP 版

圖的相關概念名詞:子圖:圖中的某幾個頂點和邊或弧構成該圖的子圖。相應的還有連通圖,稀疏圖,完全圖,連通分量圖連線圖就是從某個頂點開始,能繞一圈回到原點。 圖形結構一般用於多對多的關係場景中,而線
圖解Redis之資料結構篇——跳躍表 資料結構|Redis

圖解Redis之資料結構篇——跳躍表

前言      跳躍表是一種有序的資料結構,它通過在每個節點中維持多個指向其他節點的指標,從而達到快速訪問節點的目的。這麼說,我們可能很難理解,我們可以先回憶一下連結串列。一、複習跳躍表1.1 什麼是
資料結構與演算法基礎之指標和陣列 演算法|資料結構

資料結構與演算法基礎之指標和陣列

指標和陣列:  指標和一維陣列:     陣列名:       一維陣列名是個指標常量 它的值不能被改變 它存放的是一維陣列裡第一個元素的地址 一維陣列名指向的是陣列的下標為0的第一個元素。 下標和指
Redis(二)--- Redis的底層資料結構 資料結構|Redis

Redis(二)--- Redis的底層資料結構

1、Redis的資料結構Redis 的底層資料結構包含簡單的動態字串(SDS)、連結串列、字典、壓縮列表、整數集合等等;五大資料型別(資料物件)都是由一種或幾種數結構構成。在命令列中可以使用 OBJE
資料結構丨字首樹 資料結構

資料結構丨字首樹

字首樹簡介什麼是字首樹?字首樹是N叉樹的一種特殊形式。通常來說,一個字首樹是用來儲存字串的。字首樹的每一個節點代表一個字串(字首)。每一個節點會有多個子節點,通往不同子節點的路徑上有著不同的字元。子節
紅黑樹這個資料結構,讓你又愛又恨?看了這篇,妥妥的征服它 資料結構|紅黑樹

紅黑樹這個資料結構,讓你又愛又恨?看了這篇,妥妥的征服它

紅黑樹是一個比較複雜的資料結構,相信很多人也只知其名而不知其意,因為理解它的原理確實需要花費一定的功夫。之所以寫這篇文章,也是為了更好的理解 Java 中 TreeMap 的原始碼。寫之前,搜了下網上
個人平時對 JS 資料結構一些常用的處理方法總結,歡迎大家給出更好的思路 資料結構

個人平時對 JS 資料結構一些常用的處理方法總結,歡迎大家給出更好的思路

之前專案中用到的一些需求使用js運算元據結構的,大體寫了下,如有不合理的地方請指正。把data轉換為newdata根據月份分組,其中num1是同一月份中name=測試1對應的num值之和,num2是同
資料結構-哈夫曼樹(python實現) Python|資料結構

資料結構-哈夫曼樹(python實現)

好,前面我們介紹了一般二叉樹、完全二叉樹、滿二叉樹,這篇文章呢,我們要介紹的是哈夫曼樹。哈夫曼樹也叫最優二叉樹,與哈夫曼樹相關的概念還有哈夫曼編碼,這兩者其實是相同的。哈夫曼編碼是哈夫曼在1952年提
資料結構-樹以及深度、廣度優先遍歷(遞迴和非遞迴,python實現) Python|資料結構

資料結構-樹以及深度、廣度優先遍歷(遞迴和非遞迴,python實現)

前面我們介紹了佇列、堆疊、連結串列,你親自動手實踐了嗎?今天我們來到了樹的部分,樹在資料結構中是非常重要的一部分,樹的應用有很多很多,樹的種類也有很多很多,今天我們就先來建立一個普通的樹。其他各種各樣
資料結構-迴圈佇列(Python實現) Python|資料結構

資料結構-迴圈佇列(Python實現)

今天我們來到了迴圈佇列這一節,之前的文章中,我介紹過了用python自帶的列表來實現佇列,這是最簡單的實現方法。但是,我們都知道,在列表中刪除第一個元素和刪除最後一個元素花費的時間代價是不一樣的,刪除