原创 遞歸實現廣義表

    廣義表是非線性的結構,是線性表的一種擴展,是有n個元素組成有限序列。由於在表的描述中可以嵌套表,允許表中有表,所以可以通過遞歸實現廣義表。具體實現如下:頭文件#pragma once //實現廣義表的結構 enum Type//枚舉

原创 【數據結構】AVL樹

1、AVL樹簡介      AVL樹本質上還是一棵二叉搜索樹,又稱高度平衡的二叉搜索樹。它能保持二叉樹的高度平衡,儘量降低二叉樹的高度,減少樹的平均搜索長度。對於二叉搜索樹的介紹和實現,可查看本人上一篇博客。2、AVL樹的特點1)本身首先是

原创 【數據結構】二叉搜索樹

● 二叉搜索樹滿足以下條件的二叉樹: 1、每個節點都有一個作爲搜索依據的關鍵碼(key),所有節點的關鍵碼互不相同。2、左子樹上所有節點的關鍵碼(key)都小於根節點的關鍵碼(key)。3、右子樹上所有節點的關鍵碼(key)都大於根節點的關

原创 《將博客搬至CSDN》

《將博客搬至CSDN》鏈接爲:http://blog.csdn.net/scenlyf/

原创 堆的實現(堆的建立及push、pop元素)

堆數據結構是一種數組對象,它可以被視爲一棵完全二叉樹結構。堆結構的二叉樹存儲:大堆:每個父節點的都大於孩子節點;小堆:每個父節點的都小於孩子節點。建堆:由於堆被視爲完全二叉樹,故在h-1層找到第一個(從後往前找)非葉子結點,進行堆的下調建大

原创 【Linux】vim的配置

1、配置文件.vimrc在目錄/etc/下面,有個名爲vimrc的文件,這是系統中公共的vim配置文件,對所有用戶都有效。而在每個用戶的主目錄下,都可以建立私有的配置文件,命名爲:“.vimrc”。直接下載高手寫好的移動到自己主目錄下即可。

原创 【數據結構】常見的7種比較排序算法1

● 直接插入排序(Insert Sort)1、算法描述:    該算法是一種簡單直觀的是通過構建有序序列,對於未排序數據,在已排序序列中從後向前掃描,找到相應位置並插入。插入排序在實現上只需用到O(1)的額外空間的排序,因而在從後向前掃描過

原创 【海量數據處理】N個數中找出最大的前K個數

N個數中找出最大的前K個數,需要用小堆實現。分析:由於小堆的堆頂存放堆中最小的數據,可以通過與堆頂數據進行比較,將大數據存放在堆中,注意在每次改變堆頂數據後,進行調堆,使堆頂一直存放整個堆中最小元素。void AdjustDown(int 

原创 【數據結構】常見的7種比較排序算法2

● 快速排序(Quick Sort)1、算法描述:    在平均狀況下,排序n個數據要O(nlg(n))次比較。在最壞狀況下則需要O(n^2)次比較,但這種狀況並不常見。事實上,快速排序通常明顯比其他O(nlg(n))算法更快,因爲它的內部

原创 【Linux】簡單實現進度條

一提起進度條,大家會想到在進行安轉軟件或下載視頻等時,會出現以下幾點1、進度條存在一個區間,不斷加載數據,直到區間加載滿了。2、發現會顯示你的進度,從0%~100%。3、在網速不好的時候,會出現一個旋轉的小圈,表示在進行加載數據。思路:  

原创 【數據結構】非比較排序算法(實現計數排序和基數排序)

● 計數排序1、算法思想:       計數排序是直接定址法的變形。通過開闢一定大小的空間,統計相同數據出現的次數,然後回寫到原序列中。2、步驟:1)找到序列中的最大和最小數據,確定開闢的空間大小。2)開闢空間,利用開闢的空間存放各數據的個

原创 【Linus】配置gcc、g++和gdb

       從 Linux中使用gcc來編譯C程序,使用g++來編譯C++程序,使用GDB來調試程序,這些使用工具都需要自己進行安裝,那麼應該怎樣配置這些工具呢?1、查看vim信息,並查看是否存在.vimrc和.viminfo這樣的配置文

原创 哈希衝突的處理【閉散列方法-線性探測和二次探測】

    散列表(Hash table,也叫哈希表),是根據關鍵碼值(Key value)而直接進行訪問的數據結構。也就是說,它通過把關鍵碼值映射到表中一個位置來訪問記錄,以加快查找的速度。這個映射函數叫做散列函數,存放記錄的數組叫做散列表。

原创 【數據結構】AVL樹

1、AVL樹簡介      AVL樹本質上還是一棵二叉搜索樹,又稱高度平衡的二叉搜索樹。它能保持二叉樹的高度平衡,儘量降低二叉樹的高度,減少樹的平均搜索長度。對於二叉搜索樹的介紹和實現,可查看本人上一篇博客。2、AVL樹的特點1)本身首先是

原创 【數據結構】常見的7種比較排序算法1

● 直接插入排序(Insert Sort)1、算法描述:    該算法是一種簡單直觀的是通過構建有序序列,對於未排序數據,在已排序序列中從後向前掃描,找到相應位置並插入。插入排序在實現上只需用到O(1)的額外空間的排序,因而在從後向前掃描過