原创 排序

//快速排序//排序思想://1.從數列中挑出一個元素,稱爲 “基準”(pivot),//2.重新排序數列,所有元素比基準值小的擺放在基準前面,所有元素比基準值大的擺在基準的後面(相同的數可以到任一邊)。在這個分區退出之後,該基準就處於數列

原创 稀疏矩陣

   稀疏矩陣是矩陣中非零元素的個數遠遠小於矩陣元素的總數,並且非零元素的分佈沒有規律,通常認爲非零元素比上矩陣所有元素的值小於等於0.05時,則稱該矩陣爲稀疏矩陣(sparse matrix);與之相區別的是,如果非零元素的分佈存在規律(

原创 虛函數

   虛函數是重載的另一種表現形式。這是一種動態的重載方式,它提供了一種更爲靈活的、運行時的多態性機制。虛函數允許函數調用與函數體之間的聯繫在運行時才建立,也就是在運行時才決定如何動作,即所謂的動態連編。   虛函數首先是基類中的成員函數,

原创 單鏈表的插入 刪除 及帶環 問題

#include<stdio.h> #include<assert.h> #include<malloc.h> #include<stdlib.h> typedef int Datatype; typedef struct SListNod

原创 廣義表

   廣義表(Lists,又稱列表)是一種非線性的數據結構,是線性表的一種推廣。即廣義表中放鬆對錶元素的原子限制,容許它們具有其自身結構。   如圖,根據上圖分析寫出代碼如下;#include<cassert> #include<iostr

原创 前序遍歷和中序遍歷重建二叉樹

 對於二叉樹,在此我不做過多講解,如有不懂,請參照一下鏈接點擊打開鏈接 1、在此二叉樹的定義:struct BinaryTreeNode     {         BinaryTreeNode<T> *_Left;         Bin

原创 單鏈表面試題(二)從頭到尾打印單鏈表

  單鏈表面試題幾乎是面試的必考之題;  對於單鏈表從頭到尾打印與單鏈表的逆置不是一回事。  單鏈表的從頭到尾打印是打印出鏈表的數據。(即數據是從尾向前輸出);  一、單鏈表從頭到尾打印:/** *  struct ListNode { *

原创 Linux(centos)下vim、ctags的配置及基本用法詳解

   一、vi/vim 基本使用方法      vi編輯器是所有Unix及Linux系統下標準的編輯器,它的強大不遜色於任何最新的文本編輯器,這裏只是簡單地介紹一下它的配置和一小部分指令。由於對Unix及Linux系統的任何版本,vi編輯器

原创 Linux中find用法

Linux下查找文件的命令有兩個;locate 和 find 首先說下locate,locate這個命令是對其生成的數據庫進行遍歷(生成數據庫的命令:updatedb),這一特性決定了用locate查找文件速度很快,但是locate命令只能

原创 將二叉搜索樹轉變成排序的雙向鏈表

將二叉搜索樹轉變成排序的雙向鏈表:點擊鏈接:http://blog.csdn.net/l_tudou/article/details/51753921

原创 二叉樹的先序、中序、後序、層序遞歸及非遞歸遍歷

  二叉樹是一種樹形結構,它每個結點至多隻有兩棵子樹(即二叉樹中不存在度大於2的結點)。所謂度是結點擁有的子樹數。 對於二叉樹,它具有以下的性質:1、在二叉樹的第i層上至多有2^(i-1)個結點(i>=1)。2、深度爲k的二叉樹至多有2^k

原创 操作系統的幾種進程調度算法

  進程狀態:1.等待態:等待某個事件的完成;2.就緒態:等待系統分配處理器以便運行;3.運行態:佔有處理器正在運行。運行態→等待態 往往是由於等待外設,等待主存等資源分配或等待人工干預而引起的。等待態→就緒態 則是等待的條件已滿足,只需分

原创 堆的實現(大小堆及 優先隊列)

一、堆的概念    堆數據結構是一種數組對象,它可以被視爲一棵完全二叉樹結構。  堆結構的二叉樹存儲是:  最大堆:每個父節點的都大於孩子節點。  最小堆:每個父節點的都小於孩子節點。     堆棧中的物體具有一個特性: 最後一個放入堆棧中

原创 稀疏矩陣

   稀疏矩陣是矩陣中非零元素的個數遠遠小於矩陣元素的總數,並且非零元素的分佈沒有規律,通常認爲非零元素比上矩陣所有元素的值小於等於0.05時,則稱該矩陣爲稀疏矩陣(sparse matrix);與之相區別的是,如果非零元素的分佈存在規律(

原创 前序遍歷和中序遍歷重建二叉樹

 對於二叉樹,在此我不做過多講解,如有不懂,請參照一下鏈接點擊打開鏈接 1、在此二叉樹的定義:struct BinaryTreeNode     {         BinaryTreeNode<T> *_Left;         Bin