原创 二叉樹的非遞歸實現

  之前一直覺得二叉樹使用遞歸來實現就感覺有點繞,今天才發現二叉樹使用非遞歸來實現更加的繞,但是考慮到我們得使用非遞歸來提高二叉樹的遍歷效率,使用非遞歸是一種比較好的方法。  三種遞歸遍歷對遍歷的描述,思路非常簡潔,最重要的是三種方法完全統

原创 二叉樹的遞歸實現

  二叉樹是一種非常有用的結構,二叉樹是每個節點最多有兩個子樹的樹結構。通常子樹被稱作“左子樹”(left subtree)和“右子樹”(right subtree)。二叉樹常被用於實現二叉查找樹和二叉堆。  二叉樹的每個結點至多隻有二棵子

原创 線索二叉樹

  用二叉樹作爲存儲結構時,取到一個節點,只能獲取節點的左孩子和右孩子,不能直接得到節點的任一遍歷序列的前驅或者後繼。但是常常我們會想要更加直觀的知道節點的前驅後繼。線索二叉樹顯得尤爲的重要。  線索二叉樹的關鍵就是要定義一個全局變量來存放

原创 數據結構之二叉搜索樹

一。定義:二叉搜索樹(Binary Search Tree),也稱有序二叉樹(ordered binary tree),排序二叉樹(sorted binary tree),是指一棵空樹或者具有下列性質的二叉樹:1. 若任意節點的左子樹不空,

原创 Linux下的進度條小程序

     本文的題目就是實現一個進度條,進度條的應用在軟件中無處不在,拷貝一個文件需要一個進度條,加載一個文件也需要一個進度條,來標誌完成與否。    那麼 ,一個進度條有哪些元素呢:一個不斷向右生長的容器(直觀的看出當前的進度)一個數據化

原创 數據結構之堆(Heap)的實現

  堆數據結構是一種數組對象,它可以被視爲一棵完全二叉樹結構,所以堆也叫做二叉堆。二叉堆滿足二個特性:  1.父結點的鍵值總是大於或等於(小於或等於)任何一個子節點的鍵值。  2.每個結點的左子樹和右子樹都是一個二叉堆(都是最大堆或最小堆)

原创 數組中出現次數超過一半的數字

題目:數組中有一個數字出現超過數組長度的一半,請找出這個數字。列入輸入一個長度爲9的數組{1,2,3,2,2,2,5,4,2},由於數字2在數組中出現了5次,超過數組長度的一半,因此輸出2。      看到題目的第一感覺就是要先把未排序的數

原创 位圖

  位圖算法是一種使用二進制位來表示一個數是否存在的算法。  一個字節是八位二進制,可以表示兩種狀態,1和0。1表示存在,0表示不存在。  四個字節是32位二進制,可以表示32種狀態。  八個字節是64位二進制,可以表示64種狀態。  比如

原创 優先級隊列

  優先級隊列首先是一個隊列,但是它強調的是“優先”,所以優先級隊列又分爲最大優先隊列和最小優先隊列。 最大優先級隊列:每次從隊列中取出優先級最大的數據,刪除數據也是刪除優先級最大的數據。 最小優先級隊列:每次從隊列中取出優先級最小的數據,

原创 類模板的分離編譯

  一直覺得模板類是特別神奇的東西,它可以構造出不同類型的對象,使代碼更加的靈活。這個過程就是類模板的實例化。  我們使用類的模板寫一個stack類:#include<assert.h> #include"Seqlist1.h" using

原创 數據結構之二叉搜索樹

一。定義:二叉搜索樹(Binary Search Tree),也稱有序二叉樹(ordered binary tree),排序二叉樹(sorted binary tree),是指一棵空樹或者具有下列性質的二叉樹:1. 若任意節點的左子樹不空,

原创 數組中出現次數超過一半的數字

題目:數組中有一個數字出現超過數組長度的一半,請找出這個數字。列入輸入一個長度爲9的數組{1,2,3,2,2,2,5,4,2},由於數字2在數組中出現了5次,超過數組長度的一半,因此輸出2。      看到題目的第一感覺就是要先把未排序的數

原创 Linux下的進度條小程序

     本文的題目就是實現一個進度條,進度條的應用在軟件中無處不在,拷貝一個文件需要一個進度條,加載一個文件也需要一個進度條,來標誌完成與否。    那麼 ,一個進度條有哪些元素呢:一個不斷向右生長的容器(直觀的看出當前的進度)一個數據化

原创 布隆過濾器(Bloom Filter)

  布隆過濾器(Bloom Filter)是1970年由布隆提出的。它實際上是一個很長的二進制向量和一系列隨機映射函數。布隆過濾器可以用於檢索一個元素是否在一個集合中。它的優點是空間效率和查詢時間都遠遠超過一般的算法,缺點是有一定的誤識別率

原创 Linux下C程序的鏈接過程

   今天看到一個很有意思的小程序,它讓我對Linux下C程序的編譯鏈接有了一個全新的認識!   這個程序的就是寫一個簡單的輸出“hello World!”:  要求:1.不使用C運行庫,寫一個獨立於任何庫的程序。(也就是說我們不能#inc