日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

sqlyong 删除数据能否撤回_数据结构知识点总结

發布時間:2023/12/15 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sqlyong 删除数据能否撤回_数据结构知识点总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

some quoted by

Fundebug:代碼面試需要知道的8種數據結構(附面試題及答案鏈接)?zhuanlan.zhihu.com

added with other sources

8 種常用數據結構

  • 數組
  • 隊列
  • 鏈表
  • 哈希表
  • priorityqueue
  • 1. 數組

    數組(Array)大概是最簡單,也是最常用的數據結構了。其他數據結構,比如棧和隊列都是由數組衍生出來的。

    下圖展示了 1 個數組,它有 4 個元素:

    每一個數組元素的位置由數字編號,稱為下標或者索引(index)。大多數編程語言的數組第一個元素的下標是 0。

    根據維度區分,有 2 種不同的數組:

    • 一維數組(如上圖所示)
    • 多維數組(數組的元素為數組)

    2. 棧

    撤回,即 Ctrl+Z,是我們最常見的操作之一,大多數應用都會支持這個功能。你知道它是怎么實現的嗎?答案是這樣的:把之前的應用狀態(限制個數)保存到內存中,最近的狀態放到第一個。這時,我們需要棧(stack)來實現這個功能。

    棧中的元素采用 LIFO (Last In First Out),即后進先出。

    下圖的棧有 3 個元素,3 在最上面,因此它會被第一個移除:

    3. 隊列

    隊列(Queue)與棧類似,都是采用線性結構存儲數據。它們的區別在于,棧采用 LIFO 方式,而隊列采用先進先出,即FIFO(First in First Out)。

    下圖展示了一個隊列,1 是最上面的元素,它會被第一個移除:

    4. 鏈表

    鏈表(Linked List)也是線性結構,它與數組看起來非常像,但是它們的內存分配方式、內部結構和插入刪除操作方式都不一樣。

    鏈表是一系列節點組成的鏈,每一個節點保存了數據以及指向下一個節點的指針。鏈表頭指針指向第一個節點,如果鏈表為空,則頭指針為空或者為 null。

    鏈表可以用來實現文件系統、哈希表和鄰接表。

    下圖展示了一個鏈表,它有 3 個節點:

    鏈表分為 2 種:

    • 單向鏈表
    • 雙向鏈表

    Time Complexity:

    • Indexing: Linked Lists: O(n)
    • Search: Linked Lists: O(n)
    • Optimized Search: Linked Lists: O(n)
    • Insertion: Linked Lists: O(1)

    5. 圖

    圖(graph)由多個節點(vertex)構成,節點之間闊以互相連接組成一個網絡。(x, y)表示一條邊(edge),它表示節點 x 與 y 相連。邊可能會有權值(weight/cost)。

    圖分為兩種:

    • 無向圖
    • 有向圖

    在編程語言中,圖有可能有以下兩種形式表示:

    • 鄰接矩陣(Adjacency Matrix)
    • 鄰接表(Adjacency List)

    遍歷圖有兩周算法

    • 廣度優先搜索(Breadth First Search)
    • 深度優先搜索(Depth First Search)

    6. 樹

    樹(Tree)是一個分層的數據結構,由節點和連接節點的邊組成。樹是一種特殊的圖,它與圖最大的區別是沒有循環。

    樹被廣泛應用在人工智能和一些復雜算法中,用來提供高效的存儲結構。

    下圖是一個簡單的樹以及與樹相關的術語:

    樹有很多分類:

    • N 叉樹(N-ary Tree)
    • 平衡樹(Balanced Tree)
    • 二叉樹(Binary Tree)
    • 二叉查找樹(Binary Search Tree)
    • 平衡二叉樹(AVL Tree)
    • 紅黑樹(Red Black Tree)
    • 2-3 樹(2–3 Tree)

    其中,二叉樹和二叉查找樹是最常用的樹。

    Time Complexity:

    • Indexing: Binary Search Tree: O(log n)
    • Search: Binary Search Tree: O(log n)
    • Insertion: Binary Search Tree: O(log n)

    7. 哈希表

    哈希(Hash)將某個對象變換為唯一標識符,該標識符通常用一個短的隨機字母和數字組成的字符串來代表。哈希可以用來實現各種數據結構,其中最常用的就是哈希表(hash table)。

    哈希表通常由數組實現。

    哈希表的性能取決于 3 個指標:

    • 哈希函數
    • 哈希表的大小
    • 哈希沖突處理方式

    下圖展示了有數組實現的哈希表,數組的下標即為哈希值,由哈希函數計算,作為哈希表的鍵(key),而數組中保存的數據即為值(value):

    TreeMap

    TreeMap can be a bit handy when we only need to store unique elements in a sorted order. Java.util.TreeMap uses ared-black treein the background which makes sure that there are no duplicates; additionally it also maintains the elements in a sorted order.

    8. PriorityQueue

    總結

    以上是生活随笔為你收集整理的sqlyong 删除数据能否撤回_数据结构知识点总结的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。