搜尋到 46 篇相關的文章

我們在《【資料結構】跳躍列表 (理論篇)》中講述了跳躍列表的基本結構, 根據 C++ 標準樣板程式庫中容器的大致樣子, 我們今天要實作一個和這些容器差不多的跳躍列表 要實作這樣一個容器, 首先就要實作…
  • C++
  • 2021-02-08
到目前為止, 我們已經介紹了兩種搜尋方式 : 順序搜尋和二分搜尋. 這兩種搜尋方式分別針對不同的資料架構. 接下來, 我們要介紹第一種有序的資料結構 : 跳躍列表 (Skip List), 它能夠提到…
大家對於像素畫應該都不陌生, 它是一個 m 行 n 列的像素矩陣. 在二值圖像中, 每一個像素或為黑色或為白色. 也就是說, 在 C++ 中, 我們可以使用布林型別來表示每一個像素. 0 表示黑色, …
迷宮是一個矩形區域, 左上角為迷宮的入口, 右下角為迷宮的出口 迷宮內部包含不可穿越的障礙物, 這些障礙物和迷宮的邊界平行  老鼠從入口進入迷宮, 尋找一條可行路徑使得老鼠可以從迷宮中走出, 要求…
一列貨運列車有 n 節車廂, 第 i 節車廂停靠在第 i 個站點. 假設列車在裝載的時候, 不一定按照順序進行裝載, 即車廂的編號不一定有序. 在列車到達終點站之前需要經過一個緩衝站點. 當列車駛出緩…
在資料結構中, 線型的結構使用得比較多的是動態陣列, 也就是我們所說的 vector. 其次, 除了 vector 之外, 用得最多的也許就是堆疊和佇列. 今天來說一下堆疊的三個應用 一、括號匹配 在…
陣列是絕大多數程式設計語言中的內建資料結構. 陣列的索引具有如下的形式 : 其中, (). 當 時, 陣列的維度是一維的; 當 時, 陣列的維度是二維的; 對於一般的 , 通常稱陣列為 維陣列. 其中…
同樣是從雙向佇列中, 我們了解到佇列的基本性質. 佇列中的元素操作, 限制和堆疊差不多. 只不過, 堆疊中是只能在最後一個位置進行插入或者彈出, 而佇列是從最後一個元素插入, 從第一個位置彈出. 也就…
  • C++
  • 2018-09-16
通過之前的雙向佇列, 我們知道, 堆疊是一種只有尾部最後一個元素可以彈出, 插入也只能在尾端的元素. 因此在 STL 中, 它是作為 Container Adapter (容器配接器) 存在. 但是我…
  • C++
  • 2018-09-16
按照本來的順序, 應該是寫完佇列與堆疊之後才會開始雙向佇列. 但是, 雙向佇列 (Deque) 是以容器的形式存在於 STL 中的, 堆疊與佇列都是以容器配接器的形式存在於 STL 中的. 而這一次的…
  • C++
  • 2018-09-16

大家都搜尋

關注我們的微信官方帳號

微信官方帳號