tag 數據結構

標籤
貢獻100
149
02:01 AM · Oct 27 ,2025

@數據結構 / 博客 RSS 訂閱

Believer - 二叉樹中的小鋼炮:🔍二叉查找樹

原文參考我的公眾號文章 梳理一波「二叉樹 二叉樹 二叉樹,顧名思義,每個節點最多有兩個“叉”,也就是兩個子節點,分別是左子節點和右子節點。不過,二叉樹並不要求每個節點都有兩個子節點,有的節點只有左子節點,有的節點只有右子節點。 根節點:無父節點的節點 葉子結點:無子節點的節點 兄弟節點:有相同根節點的節點 關於“樹”,還有三個比較相似的概念:高度(Height)、深度(Depth)、層(

數據結構 , 算法 , 二叉樹 , Javascript

收藏 評論

西門吹雪 - 侯捷STL學習(九)--關聯式容器(Rb

目錄 一、序列式容器與關聯式容器 二、pair結構介紹 1. 類的定義 2. 構造方法 3.比較操作 三、set / multiset 的使用 1. set 與multiset的介紹 2. set的成員函數 (1)構造與迭代器 (2)增刪查 (3)其他成員函數 3.multiset

STL , 數據結構 , c++ , 後端開發 , 哈希算法 , , harmonyos

收藏 評論

TeamCode - 如何在C語言中定義自己的數據類型?

在C語言編程中,我們其實可以打開編程語言的拘束,自己定義自己想要的數據類型。只要記住 struct 和 typedef 兩個關鍵詞,我們就可以通過C語言中的數據結構和共用體來保存非同質化的數據類型。 定義新的數據類型 首先,在C語言在線編譯器中輸入以下代碼: typedef struct student_structure { char* name; char* surname;

數據類型 , 數據結構 , struct , 程序員 , c

收藏 評論

最多選5個技能 - 軟件設計師軟考備戰:第一篇 數據結構與算法基礎

1 數據結構的基本概念與重要性 數據結構是計算機存儲、組織數據的方式,它決定了數據的邏輯結構、物理存儲結構以及相應的操作算法。在軟件設計師考試中,數據結構與算法佔據着核心地位,約佔總分值的15%-20%。合理選擇數據結構能夠顯著提升程序執行效率,降低系統資源消耗。 數據結構主要分為兩大類:線性結構和非線性結構。線性結構包括數組、鏈表、棧、隊列等;非線性結構則包括樹、圖

時間複雜度 , 數據結構 , 後端開發 , 二叉樹 , Python

收藏 評論

雲端築夢者 - 紅黑樹原理和C++實現

前言:在計算機科學領域,數據結構的選擇直接決定着算法性能的巔峯。紅黑樹——這一被譽為"最優雅的平衡二叉搜索樹",憑藉其嚴格的平衡約束和穩定的對數級時間複雜度(O(log n)),已成為高性能系統的核心支柱。從Linux內核的進程調度到C++ STL的map容器,從數據庫引擎的B+樹後備存儲到實時系統的內存管理,紅黑樹的身影無處不在。

數據結構 , 算法 , 開發語言 , c++ , 前端開發 , 後端 , Javascript

收藏 評論

好易學數據結構 - 視化圖解算法72:斐波那契數列

1.題目 描述 大家都知道斐波那契數列,現在要求輸入一個正整數 n ,請你輸出斐波那契數列的第 n 項。 斐波那契數列是一個滿足: 數據範圍:1≤n≤40 要求:空間複雜度 O(1),時間複雜度 O(n) ,本題也有時間複雜度 O(logn)的解法 輸入描述: 一個正整數n 返回值描述: 輸出

軟件研發 , yyds乾貨盤點 , 動態規劃 , 數據結構 , 算法 , 斐波那契數列

收藏 評論

碼海探險先鋒 - 王道計算機408數據結構 筆記14

一、樹 1、樹的定義 計算機專業的應該都學過,只需要略微回顧一下這些名詞就行;跨考的看一下這個思維導圖應該也能理解 2、其他基本術語 放大來看,過一遍就行,都是很基礎的概念 3、樹的常考性質計算 雖然我的圖畫的很醜。。。但是

數據結構 , 後端開發 , 1024程序員節 , 考研 , 筆記 , 408 , Python

收藏 評論

網絡安全專家 - C++STL——隊列

隊列是什麼 隊列是一種先進先出(First In First Out)的線性數據結構,類似於現實生活中的排隊場景。新元素總是被添加到隊列的末尾,而從隊列中移除元素時總是從最前面開始。 定義隊列 cpp // 基本聲明方式 queueint q1; // 存儲整數的隊列 queuestring q2;

字符串 , 未定義 , 數據結構 , Css , 前端開發 , HTML

收藏 評論

bigsai - 歷時三年,寫了一本數據結構與算法pdf,開源了

前言 大家好,我是bigsai,很早就在寫博客,將文章整理成了一個pdf,並且開源到github上! 自己寫東西斷斷續續也不少時間了,也寫了不少東西(雖然是偏向小白),這個其實花費的時間還是比較多的,這次的話主要將數據結構與算法中一些文章整理出來,初步整理成一版pdf,先分享給大家。 因為在整理pdf方面沒啥經驗,目前還是md直接導出的pdf的,看了下有些部分代碼太長太佔頁面,有些部分圖片太長也很

數據結構 , 算法 , JAVA , 數據結構與算法 , 後端

收藏 評論

14224 - Java進階之路——如何從程序員到架構師,從碼農到專家Java進階技術方面-

算法基礎:進階之路的根基 本書以算法基礎作為進階旅程的起點,強調“時間複雜度”和“空間複雜度”的深刻理解。作者指出,性能優化的根源在於對算法本質的掌控:從線性搜索到二分查找的複雜度躍遷,從冒泡排序到快速排序的遞歸分治策略,每一個算法案例都暗含着工程與數學的交織邏輯。書中通過逆向復現經典算法的實踐方

複雜度 , erlang , 數據結構 , 架構設計 , 後端開發 , Python

收藏 評論

mob64ca1412b28c - KAFKA進階:【十】能否説一下KAFKA是如何處理延時任務的?時間輪?_51CTO博客

trait TimerTask extends Runnable { // 通常是request.timeout.ms參數值 // timestamp in millisecond val delayMs: Long // 每個TimerTask實例關聯一個TimerTaskEntry // 就是説每個定時任務需要知道它在哪

數據結構 , linq , 鏈表 , Css , 分佈式 , kafka , 前端開發 , HTML

收藏 評論

GVenusLeo - [數據結構] 01 - 數據結構導論

1 什麼是數據結構 1.1 數據結構基本概念 數據(data) 是對客觀事物的符號表示,在計算科學中是指所有能輸入到計算機中並被計算機程序處理的符號的總稱問題。圖像、聲音等都可以通過編碼從而歸入到數據的範疇。 數據元素(data element) 是數據的基本單位,在計算機中通過作為一個整體進行考慮和處理。一個數據元素可以由若干個數據項(data item)組成。 數據對象(data object

數據結構 , 數據結構與算法

收藏 評論

智能探索者之家 - C++筆記——基礎語法易混點_51CTO博客

C++中的易混點 一、前言 還有4天,今天繼續回顧易混的點。。。 二、易混的點 多態性的含義 誤解:多態性指的是對象的狀態會根據運行時要求自動變化 正解:同一操作作用於不同的對象,可以有不同的解釋,產生不同的執行結果。 闡釋:多態是針對對象沒錯,但是前提是針對同一個消息/操作 在除法運算中

數據結構 , 算法 , 開發語言 , c++ , 前端開發 , Javascript , VScode

收藏 評論

京東雲開發者 - 深入理解線段樹 | 京東物流技術團隊

線段樹(Segment Tree)是常用的維護區間信息的數據結構,它可以在 O(logn) 的時間複雜度下實現單點修改、區間修改、區間查詢(區間求和、區間最大值或區間最小值)等操作,常用來解決 RMQ 問題。 RMQ(Range Minimum/Maximum Query) 問題是指:對於長度為 n 的數列 A,回答若干詢問 RMQ(A, i, j) 其中 i, j = n,返回數列 A 中下

數據結構 , 線段樹 , 數據結構與算法

收藏 評論

mob64ca13f87273 - rem動態調整

動態規劃一般可分為線性動規,區域動規,樹形動規,揹包動規四類。 揹包問題:01揹包問題,完全揹包問題,分組揹包問題,二維揹包等 動態規劃的一般解題步驟:明確「狀態」 - 定義 dp 數組/函數的含義 - 明確「選擇」- 明確 base case。 以Leetcode322為例 先確定「狀態」,也就是原問題和子問題中變化的變量。由於硬幣數量無限,

機器學習 , 動態規劃 , 數據結構 , 算法 , i++ , rem動態調整 , 人工智能

收藏 評論

月亮給蒙娜麗莎 - 雙向帶頭循環鏈表

雙向帶頭循環鏈表 1.順序表和鏈表 (1)順序表 優點: a、支持隨機訪問,很多算法都需要隨機訪問(快排、二分) b、cpu高速緩存命中率更高(cpu讀數據時,先去找緩存,如果沒有就去內存把數據加載到緩存。在加載時它不是隻加載一個數據,而是附近一片數據,所以如果是數組,它的數據是連續的,都會被加載到緩存了) 缺點: a、除了最後位置,其他位置插入刪除效率

數據結構 , 鏈表 , c

收藏 評論

Chikaoya - R語言21天學習計劃 - 第一天:入門基礎

📚 今日目標 瞭解R語言的基本概念和優勢 安裝R和RStudio 學習R基礎語法和數據結構 完成第一個簡單的數據分析 🛠️ 第一部分:環境搭建 1.1 安裝R 訪問R官網 選擇CRAN鏡像下載 安裝適合你操作系統的版本 1.2 安裝RStudio 訪問RS

數據結構 , 賦值 , AI寫作 , aigc , ci

收藏 評論

mob64ca14157da7 - 手撕十大排序算法(一)

排序 基於插入的排序: 直接插入排序算法 shell(希爾)排序 基於交換的排序: 冒泡排序 快速排序 基於選擇的排序: 簡單選擇排序 堆排序 其他的排序: 歸併排序 基於統計的排序 直接插

排序算法 , 數組 , 數據結構 , 算法 , i++ , 前端開發 , Javascript

收藏 評論

蒙奇D索隆 - 【數據結構】考研408 | 開放定址法精講:連續探測的藝術與代價

(開放定址法) 導讀 大家好,很高興又和大家見面啦!!! 在上一篇內容中我們介紹了 處理衝突 的一種經典策略——拉鍊法: 通過 數組 + 鏈表 的組合,不僅有效的處理了衝突,還避免了堆積現象 雖然 拉鍊法 的優勢突出,但是 鏈表 同時也帶來了一些侷限性: 每一個結點都需要一個 額外的指針空間 今天我們將會介紹另一種 衝突處理策略

yyds乾貨盤點 , 數據結構 , c++ , 後端開發 , 考研 , c , 408

收藏 評論

mob64ca14116c53 - 排序算法:堆排序,快速排序,歸併排序。內附完整代碼和算法思路詳解。

快速排序VS大根堆排序:從原理到實戰(附大根堆完整代碼+實例拆解) 剛做排序實驗時,我一直搞不懂:明明快速排序平均速度更快,為啥有時候還要用大根堆排序?後來才發現,快速排序在最壞情況會退化到O(n²),而大根堆排序不管輸入啥,始終穩定在O(nlogn)——這倆的選擇,本質是“速度優先”和“穩定優先”的權衡。 今天從兩種排序的核心原理講起,對比

數據結構 , 學習 , 算法 , 後端開發 , JAVA , 大根堆

收藏 評論

香奈兒 - 反射、枚舉以及lambda表達式_枚舉類為什麼不能被反射

文章目錄 字符串常量池 創建對象的思考 字符串常量池(StringTable) 再談String對象創建 intern方法 反射 定義 用途 反射基本信息 反射相關的類 Class類中的相關方法 反射示例

spark , System , 大數據 , 數據結構 , jvm , intellij idea , JAVA

收藏 評論

西洋無悔 - 數據結構與算法 05 棧與逆波蘭表達式

在數據結構與算法領域,棧的操作與應用、卡特蘭計數問題、表達式解析值得關注。以下詳細解釋: 1.基礎結構:進棧順序 1)進棧順序的基本概念 進棧順序(Push Order)是指元素按照特定順序被壓入棧中的過程。棧遵循後進先出(LIFO)原則,即:最後壓入的元素最先被彈出。理解進棧順序的推算是分析棧操作和解決相關問題的基礎。 2)棧的

彙編 , 數據結構 , 算法 , 後端開發 , 逆波蘭表達式 , 筆記 , Python

收藏 評論

求知上進 - Python 數據結構:可變與不可變

1.前言 在 Python 中,數據結構的選擇直接影響程序的性能和可維護性。可變(mutable)與不可變(immutable)數據結構是 Python 數據模型的核心概念。這些概念不僅影響數據的存儲方式,還影響數據的操作方式。 理解可變與不可變數據結構的特性,可以幫助我們更有效地進行數據處理、內存管理和性能優化。在日常編程中,選擇合適的數據結構不僅能提高代碼效率,還

不可變對象 , 數據 , 數據結構 , 人工智能 , 深度學習

收藏 評論

jiecho - 排序算法的穩定性及其彙總

一、什麼是排序的穩定性 穩定性定義: 對於待排序序列中,若存在兩個相等的元素 A 和 B,並且 A 在 B 之前,那麼排序後 A 仍然排在 B 前面 ——則該排序算法是 穩定的。 反之,如果可能出現相等元素的相對位置改變,就叫“不穩定排序”。 二、如何判斷穩定性(通用方法) 判斷思路非常簡單: “當兩個

排序算法 , 快速排序 , 數據結構 , 算法 , 後端開發 , Python

收藏 評論