色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

數據結構與算法簡述

算法與數據結構 ? 來源:后端技術小牛說 ? 作者:后端技術小牛說 ? 2022-09-08 11:25 ? 次閱讀

簡述數據結構棧

棧是一種線性表,其限制只能在表尾進行插入或刪除操作。由于該特性又稱為后進先出的線性表。

簡述數據結構隊列

隊列是一種先進先出的線性表。其限制只能在線性表的一端進行插入,而在另一端刪除元素。

簡述二叉樹

二叉樹是n個有限元素的集合,該集合或者為空、或者由一個稱為根(root)的元素及兩個不相交的、被分別稱為左子樹和右子樹的二叉樹組成。

簡述滿二叉樹

一個二叉樹,如果每一個層的結點數都達到最大值,則這個二叉樹就是滿二叉樹。

簡述完全二叉樹

一棵深度為k的有n個結點的二叉樹,對樹中的結點按從上至下、從左到右的順序進行編號,如果編號為i(1≤i≤n)的結點與滿二叉樹中編號為i的結點在二叉樹中的位置相同,則這棵二叉樹稱為完全二叉樹。

簡述二叉樹的前中后序遍歷算法

前序遍歷:若二叉樹為空樹,則執行空邏輯,否則:

訪問根節點

遞歸前序遍歷左子樹

遞歸前序遍歷右子樹

中序遍歷:若二叉樹為空樹,則執行空邏輯,否則:

遞歸中序遍歷左子樹

訪問根節點

遞歸中序遍歷右子樹

后序遍歷:若二叉樹為空樹,則執行空邏輯,否則:

遞歸后序遍歷左子樹

遞歸后序遍歷右子樹

訪問根節點

簡述解決Hash沖突的方法

開放定址法:當發生哈希沖突時,如果哈希表未被裝滿,那么可以把這個值存放到沖突位置中的下一個空位置中去

鏈地址法:對相同的哈希地址,設置一個單鏈表,單鏈表內放的都是哈希沖突元素。

簡述AVL樹

AVL樹是一種改進版的搜索二叉樹,其引入平衡因子(左子支高度與右子支高度之差的絕對值),通過旋轉使其盡量保持平衡。任何一個節點的左子支高度與右子支高度之差的絕對值不超過1。

簡述紅黑樹

紅黑樹本身是有2-3樹發展而來,紅黑樹是保持黑平衡的二叉樹,其查找會比AVL樹慢一點,添加和刪除元素會比AVL樹快一點。增刪改查統計性能上講,紅黑樹更優。紅黑樹主要特征是在每個節點上增加一個屬性表示節點顏色,可以紅色或黑色。紅黑樹和 AVL 樹類似,都是在進行插入和刪除時通過旋轉保持自身平衡,從而獲得較高的查找性能。紅黑樹保證從根節點到葉尾的最長路徑不超過最短路徑的 2 倍,所以最差時間復雜度是 O(logn)。紅黑樹通過重新著色和左右旋轉,更加高效地完成了插入和刪除之后的自平衡調整。

簡述穩定排序和非穩定排序的區別

穩定排序:排序前后兩個相等的數相對位置不變,則算法穩定非穩定排序:排序前后兩個相等的數相對位置發生了變化,則算法不穩定

常見的穩定排序算法有哪些

插入排序、冒泡排序、歸并排序

常見的不穩定排序算法有哪些

希爾排序、直接選擇排序、堆排序、快速排序

簡述插入排序

插入排序:每一趟將一個待排序記錄按其關鍵字的大小插入到已排好序的一組記錄的適當位置上,直到所有待排序記錄全部插入為止。

排序算法穩定。時間復雜度 O(n2),空間復雜度 O(1)。

簡述希爾排序

希爾排序:把記錄按下標的一定增量分組,對每組進行直接插入排序,每次排序后減小增量,當增量減至 1 時排序完畢。

排序算法不穩定。時間復雜度 O(nlogn),空間復雜度 O(1)。

簡述直接選擇排序

直接選擇排序:每次在未排序序列中找到最小元素,和未排序序列的第一個元素交換位置,再在剩余未排序序列中重復該操作直到所有元素排序完畢。

排序算法不穩定。時間復雜度 O(n2),空間復雜度 O(1)。

簡述堆排序

堆排序:將待排序數組看作一個樹狀數組,建立一個二叉樹堆。通過對這種數據結構進行每個元素的插入,完成排序工作。

排序算法不穩定,時間復雜度 O(nlogn),空間復雜度 O(1)。

簡述冒泡排序

冒泡排序:比較相鄰的元素,如果第一個比第二個大就進行交換,對每一對相鄰元素做同樣的工作。

排序算法穩定,時間復雜度 O(n2),空間復雜度 O(1)。

簡述快速排序

快速排序:隨機選擇一個基準元素,通過一趟排序將要排序的數據分割成獨立的兩部分,一部分全部小于等于基準元素,一部分全部大于等于基準元素,再按此方法遞歸對這兩部分數據進行快速排序。

排序算法不穩定,時間復雜度 O(nlogn),空間復雜度 O(logn)。

簡述歸并排序

歸并排序:將待排序序列分成兩部分,然后對兩部分分別遞歸排序,最后進行合并。排序算法穩定,時間復雜度都為 O(nlogn),空間復雜度為 O(n)。

簡述圖

圖是由頂點集合和頂點之間的邊集合組成的一種數據結構,分為有向圖和無向圖。

有向圖:邊具有方向性

無向圖:邊不具有方向性

簡述鄰接矩陣

用一個二維數組存放圖頂點間關系的數據,這個二維數組稱為鄰接矩陣。對于無向圖,鄰接矩陣是對稱矩陣

簡述鄰接表

鄰接表是通過鏈表表示圖連接關系的一種方。對于表頭結點所對應的頂點存在相鄰頂點,則把相鄰頂點依次存放于表頭結點所指向的單向鏈表中。

簡述圖的深度優先搜索DFS

將圖中每個頂點的訪問標志設為 FALSE, 之后搜索圖中每個頂點,如果未被訪問,則以該頂點V0為起始點出發,訪問此頂點,然后依次從V0的各個未被訪問的鄰接點出發深度優先搜索遍歷圖,直至圖中所有和V0有路徑相通的頂點都被訪問到。

簡述圖的廣度優先搜索

從圖中的某個頂點V0出發,并在訪問此頂點之后依次訪問V0的所有未被訪問過的鄰接點,之后按這些頂點被訪問的先后次序依次訪問它們的鄰接點,直至圖中所有和V0有路徑相通的頂點都被訪問到。

簡述最小生成樹和其對應的算法

對于有 n 個結點的原圖,生成原圖的極小連通子圖,其包含原圖中的所有 n 個結點,并且有保持圖連通的最少的邊。

普里姆算法:取圖中任意一個頂點 v 作為生成樹的根,之后往生成樹上添加新的頂點 w。在添加的頂點 w 和已經在生成樹上的頂點v 之間必定存在一條邊,并且該邊的權值在所有連通頂點 v 和 w 之間的邊中取值最小。之后繼續往生成樹上添加頂點,直至生成樹上含有 n-1 個頂點為止。

克魯斯卡爾算法:先構造一個只含 n 個頂點的子圖 SG,然后從權值最小的邊開始,若它的添加不使 SG 中產生回路,則在 SG 上加上這條邊,如此重復,直至加上 n-1 條邊為止。

簡述最短路徑算法

Dijkstral算法為求解一個點到其余各點最小路徑的方法,其算法為:

假設我們求解的是頂點v到其余各個點的最短距離。n次循環至n個頂點全部遍歷:

從權值數組中找到權值最小的,標記該邊端點k

打印該路徑及權值

如果存在經過頂點k到頂點i的邊比v->i的權值小

更新權值數組及對應路徑

簡述堆

堆是一種完全二叉樹形式,其可分為最大值堆和最小值堆。

最大值堆:子節點均小于父節點,根節點是樹中最大的節點。

最小值堆:子節點均大于父節點,根節點是樹中最小的節點。

簡述set

Set是一種集合。集合中的對象不按特定的方式排序,并且沒有重復對象。

說一下對于樹的理解

數據結構樹是一種由有限節點組成的層次關系的集合。其特點如下:

每個節點有零個或多個子節點;

只有一個節點沒有父節點,該節點稱為根節點;

除根節點外,每個節點有且只有一個父節點;

簡述二叉查找樹

二叉查找樹的左子樹若不為空,則左子樹上所有結點的值均小于它的根結點的值;

二叉查找樹的右子樹若不為空,則右子樹上所有結點的值均大于它的根結點的值;

二叉查找樹的左、右子樹也分別為二叉查找樹;

沒有鍵值相等的結點。

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 算法
    +關注

    關注

    23

    文章

    4615

    瀏覽量

    92977
  • 數據結構
    +關注

    關注

    3

    文章

    573

    瀏覽量

    40146
  • 二叉樹
    +關注

    關注

    0

    文章

    74

    瀏覽量

    12338

原文標題:數據結構與算法八股文背誦版V0.3

文章出處:【微信號:TheAlgorithm,微信公眾號:算法與數據結構】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    DDC264配置寄存器數據寫入和320 DCLK時鐘脈沖后的回讀數據結構是什么?

    配置寄存器數據寫入和320 DCLK時鐘脈沖后的回讀數據結構是什么? 根據注和表9,16位配置寄存器數據,4位修訂ID, 300位校驗模式,怎么可能有1024 TOTAL READBACK BITS, format = 0
    發表于 11-19 07:58

    視覺軟件HALCON的數據結構

    在研究機器視覺算法之前,我們需要先了解機器視覺應用中涉及的基本數據結構。Halcon數據結構主要有圖像參數和控制參數兩類參數。圖像參數包括:image、region、XLD,控制參數包括:string、integer、real、
    的頭像 發表于 11-14 10:20 ?420次閱讀
    視覺軟件HALCON的<b class='flag-5'>數據結構</b>

    U盤存儲并聯,算法交互輸出

    \"algorithm.h\"http:// 自定義的算法庫 #define NUM_UDISKS 4 #define DATA_SIZE 1024 // 模擬U盤模塊的數據結構 typedef
    發表于 10-28 07:36

    架構師日記-從數據庫發展歷程到數據結構設計探析

    數據庫發展史 起初,數據的管理方式是文件系統,數據存儲在文件中,數據管理和維護都由程序員完成。后來發展出樹形結構和網狀
    的頭像 發表于 09-25 11:20 ?811次閱讀
    架構師日記-從<b class='flag-5'>數據</b>庫發展歷程到<b class='flag-5'>數據結構</b>設計探析

    嵌入式常用數據結構有哪些

    在嵌入式編程中,數據結構的選擇和使用對于程序的性能、內存管理以及開發效率都具有重要影響。嵌入式系統由于資源受限(如處理器速度、內存大小等),因此對數據結構的選擇和使用尤為關鍵。以下是嵌入式編程中常用的幾種數據結構,結合具體特點和
    的頭像 發表于 09-02 15:25 ?494次閱讀

    簡述基本與非門sr鎖存器的結構及工作原理

    。以下是對其基本結構及工作原理的簡述: 一、結構 基本與非門SR鎖存器主要由兩個與非門組成,這兩個與非門的輸出分別連接到對方的輸入端,形成交叉反饋的結構。具體來說,鎖存器有兩個輸入端S
    的頭像 發表于 08-28 11:01 ?1860次閱讀

    神經網絡算法結構有哪些類型

    神經網絡算法是深度學習的基礎,它們在許多領域都有廣泛的應用,如圖像識別、自然語言處理、語音識別等。神經網絡的結構有很多種類型,每種類型都有其獨特的特點和應用場景。以下是對神經網絡算法結構
    的頭像 發表于 07-03 09:50 ?461次閱讀

    解析嵌入式編程8種常用的數據結構

    數組是固定大小的結構,可以容納相同數據類型的項目。它可以是整數數組,浮點數數組,字符串數組或什至是數組數組(例如二維數組)。數組已建立索引,這意味著可以進行隨機訪問。
    發表于 05-03 10:54 ?488次閱讀
    解析嵌入式編程8種常用的<b class='flag-5'>數據結構</b>

    揭秘編程核心:基本數據結構算法思想詳解

    描述問題的數據除了各數據元素本身,還要考慮各元素的邏輯關系,主要是一對一的線性關系,一對多的樹型關系和多對多的圖形關系。
    的頭像 發表于 04-25 11:51 ?1096次閱讀
    揭秘編程核心:基本<b class='flag-5'>數據結構</b>與<b class='flag-5'>算法</b>思想詳解

    STM32的ADC項目應用,用什么算法濾波和穩定數據抖動?

    STM32的ADC項目應用,大家都用什么算法濾波和穩定數據抖動。 ADC數據的抖動有時候應用在項目上讓人很是頭疼,什么度娘十大濾波算法也是要斟酌選用。 單片機項目設計中,外設ADC的
    發表于 04-17 08:20

    探索編程世界的七大數據結構

    結構就像是一顆倒掛的小樹,有根、有枝、有葉。它是一種非線性的數據結構,以層級的方式存儲數據,頂部是根節點,底部是葉節點。
    的頭像 發表于 04-16 12:04 ?391次閱讀

    TASKING編譯器是否可以將數據結構設置為 \"打包\"?

    TASKING 編譯器是否可以將數據結構設置為 \"打包\"? GCC 很早以前就提供了這種可能性,可以將__attribute__((packed))與對齊指令結合使用。 對于
    發表于 03-05 06:00

    矢量與柵格數據結構各有什么特征

    矢量數據結構和柵格數據結構是地理信息系統(GIS)中最常用的兩種數據結構。它們在存儲和表示地理要素上有著不同的方法和特征。在接下來的文章中,我們將詳細介紹這兩種數據結構并比較它們的特點
    的頭像 發表于 02-25 15:06 ?2635次閱讀

    區塊鏈是什么樣的數據結構組織

    區塊鏈是一種特殊的數據結構,它以分布式、去中心化的方式組織和存儲數據。區塊鏈的核心原理是將數據分布在網絡的各個節點上,通過密碼學算法保證數據
    的頭像 發表于 01-11 10:57 ?2268次閱讀

    結構體與指針的關系

    在C語言中,結構體(Struct)是一種用戶自定義的數據類型,它允許您將不同類型的數據項組合在一起,以便形成一個更復雜的數據結構結構體可以
    的頭像 發表于 01-11 08:00 ?1008次閱讀
    <b class='flag-5'>結構</b>體與指針的關系
    主站蜘蛛池模板: 亚洲色大成网站www久久九九| 中文人妻熟妇精品乱又伧| 99久久无码热高清精品| 久久午夜伦理| 3d在线看小舞被躁视频| 99精品视频一区在线视频免费观看| 蜜芽tv在线www| 99九九精品视频| 日韩做A爰片久久毛片A片毛茸茸| 大睾丸内射老师| 午夜AV亚洲一码二中文字幕青青 | 国产精品99久久久久久AV蜜臀| 午夜福利合集1000在线| 久久re这里视频只有精品首页| av无码在线日本天堂| 先锋影音av最新资源| 黄色三级三级三级免费看| 亚洲 欧美 日韩 国产 视频| 久爱在线中文在观看| jizz69女士第一次| 亚洲人成色777777老人头| 区久久AAA片69亚洲| 91精品福利一区二区| 人妻熟女斩五十路0930| 海角国精产品一区一区三区糖心| 51无码人妻精品1国产| 午夜看片网| 欧美日韩永久久一区二区三区| 757一本到午夜宫| 天天色狠狠干| 蜜芽资源高清在线观看| 国产欧美精品国产国产专区| 99re在线播放| 亚洲免费无码av线观看| 久久re这里视频精品8| 成人永久免费视频| 26uuu老色哥| 亚洲视频在线免费观看| 免费鲁丝片一级在线观看| 99久久精品免费看国产免费| 亚洲午夜福利未满十八勿进|