原创 數據結構學習記錄(二)——折半查找二叉判定樹的畫法

以下給出我在學習中總結的一種比較簡便的構造折半二叉判定樹的思路以及方法: 思路分析: 在計算mid值時,使用的時mid=(low+high)/2  。這裏由於mid爲int類型,自動默認爲向下取整,因此對於一個長度爲n序列進行劃分之後的序

原创 數據結構學習記錄—關於使用共享棧實現隊列的模擬

今天遇到一道習題: 使用兩個棧s1和s2模擬實現隊列的功能。 在此基礎上,試寫了使用一個共享棧進行一個隊列的模擬。 基本的設計思路如下: 入隊: 首先判斷“隊列”是否爲滿。判斷標誌爲左右棧頂指針差1。 隊列的入隊操作由左棧入棧模擬完成。

原创 數據結構學習記錄(七)——鏈式隊列

 順序存儲隊列會出現假溢現象,因此改進成循環隊列,然而循環隊列也存在空間不靈活的問題(順序結構的通病),即有時浪費存儲空間(數組定義過大),而有時會空間不夠(數組定義太小)。 所以出現了鏈式隊列。 這裏給出一個用單鏈表定義的存在頭尾指針的

原创 數據結構學習記錄(三)——順序棧的簡單實現

簡單寫了一個順序棧的實現,代碼如下: #ifndef CIRCLE_H #define CIRCLE_H #define MaxSize 50; typedef int ElemType; struct SqStack

原创 數據結構學習記錄(五)——順序隊列的簡單實現

一個最基本的順序隊列的實現。 #ifndef CIRCLE_H #define CIRCLE_H #define MaxSize 50; typedef int Elemtype; struct SqQueue{ Elemtype

原创 數據結構學習記錄(六)——順序循環隊列

 由於隊列會出現假溢現象,所以改進措施是使用循環隊列。 循環隊列就是邏輯上把整個線性表首尾相連,形成一個“環”(實際的物理結構還是一個一維數組)。 也就是說當rear和front指針到達MaxSize時,使其重新回到初始位置0(必須是合法

原创 數據結構學習記錄(四)——二叉樹的建立及遍歷

考研數據結構學習心得記錄,代碼水平不高,如有錯誤,我虛心改正!   二叉樹是數據結構中非常重要的一部分,在學習過程中,我一直對於二叉樹的實現存在諸多問題(自以爲會做實際是眼高手低……),因此特對二叉樹的建立以及前中後序三種遍歷方法進行總結

原创 數據結構學習記錄(二)——折半查找及其二叉判定樹的畫法

折半查找又叫二分查找,是數據結構中一種很重要的查找方式。 其特點有以下幾個: 只能對有序的順序表進行查找。 是一種靜態查找。 查找的平均時間複雜度爲o(log2n)。 成功平均查找長度ASL約log2(n+1)-1。 這裏要注意折半查找和