Time of Update: 2018-12-04
合并兩個文字檔,這個思想很不錯,我很喜歡./*7-37-11-27-22.11.c -- 第七章第三十七題*/#include <stdio.h>int main (void) ;int main (void){FILE * fpa, * fpb, * fpc ;char cha, chb ;fpa = fopen ("a.txt", "r") ;fpb = fopen ("b.txt", "r") ;fpc = fopen ("c.txt", "w") ;if (NULL ==
Time of Update: 2018-12-04
//binarySearchTree.h -- 2011-07-27-17.14class binarySearchTree{public:enum direction {Direction_Left, Direction_Right} ;typedef int Item ;typedef struct node{Item item ;struct node * left, * right ;} Node ;private:Node * m_root ;int m_current ;Node
Time of Update: 2018-12-04
//13-1.h#include <iostream>namespace binarySearchTree{typedef int Item ;typedef struct node{Item item ;struct node * left, * right ;} Node ;class BinarySearchTree{private:Node * m_root ;int m_current ;Node * m_MakeNode (const Item & item) ;
Time of Update: 2018-12-04
這個堆排序使用了新的下濾函數.對於已耗用時間的分析,暫時進行不了,回頭計算下吧.哪怕是很粗略的依賴於時鐘計時器./*7-40-11-27-23.10.c -- 第七章第四十題*/#include <stdio.h>#define SIZE 20int main (void) ;void print_array (const int * const array, const int size) ;void swap (int * const vala, int * const
Time of Update: 2018-12-04
//binarySearchTree.cpp -- 2011-07-27-17.18#include "stdafx.h"#include "binarySearchTree.h"#include <iostream>//private methodsbinarySearchTree ::Node * binarySearchTree ::m_makeNode (const Item item){Node * newNode = new Node ;if (NULL ==
Time of Update: 2018-12-04
//13-1.cpp#include "stdafx.h"#include "13-1.h"namespace binarySearchTree{//private:Node * BinarySearchTree :: m_MakeNode (const Item & item){Node * newNode = new Node ;if (newNode){newNode -> item = item ;newNode -> left = newNode ->
Time of Update: 2018-12-04
類比操作.菜單編輯得較簡單. 這個東西,很好.多了一手! 記憶體段錯誤,哎.要小心寫代碼.認真寫代碼./*8-7-12-01-22.47.c -- 第八章第七題*/#include <stdio.h>#include <stdlib.h>#define HEIGHT (0)#define SIZE (-1)#define OSS (-65536)typedef int Item ;typedef Item SetType ;typedef SetType *
Time of Update: 2018-12-04
路徑搜尋,搜尋到目標結點的時候算作一條路徑.不會有兩條一致的路徑,但兩條不同的路徑可以有相同的部分. 同樣只是給出了函數定義,貼.//2011-08-19-21.14 -- 2011-08-19-21.36 by Golden_Shadow.//------------------------------------------------------------------------------------int graphRepresentAsAdjacentMatrix ::m_
Time of Update: 2018-12-04
祝自己,情人節快樂. 今天是正月十五.在家研究了一天收費公路重建問題.可恥的是,居然目前還沒有搞正確. 倒是發現,原來的跳躍表有問題. 還好,這個問題正確地解決了. /*SkipList.c -- 跳躍表實現檔案*/#include "SkipList.h"/*局部函式宣告*/static int logTwo (const int value) ;static void endow (Item * const l_value, const Item * const r_value)
Time of Update: 2018-12-04
一個類比函數,目的在於找到一對節點的最近公用祖先.實現思想是首先將樹映射到一個數組中,跟節點範圍為ROOT,其餘節點範圍為父節點索引,這樣可以輕鬆找到父節點.於是,一個顯而易見的類比函數出現了./*8-10-12-02-22.29.c -- 第八章第十題*//*This is a model that can return a proximate communal parent betwen two node*//*First, map a tree to an
Time of Update: 2018-12-04
話說,半年前接觸過這個東西.昨天又接觸,發現書上給的方法很好.去一趟DFS,回來按照去的完成時間,即從後往前再次對轉置了的原圖進行DFS.就是這樣. 話說啊,來到了網吧,沒帶身份證,在二樓跟一群男童在一間屋子...傳完了出去準備晚飯,貌似今天心情突然好起來了. 同樣只是函數定義而已,沒有經過任何演算法的最佳化,完全就是按照主要的思想來進行的.最近演算法東西前進得不多,在看<<via>>,加油咯.貼吧.//2011-08-21-21.15 -- 2011-08-2
Time of Update: 2018-12-04
這個版本出爐比較快,還yeah乎著呢,呵呵. 思想,就是,記錄下單詞的所有首碼,這樣可以減少掃描次數. 我的實現方式,建立一個檔案存放所有單詞的所有首碼,之後同單詞一起裝進表中.添加一個指示域來指示表中的字串是單詞還是首碼.之後在主迴圈中先進行單詞判斷,而後進行首碼判斷.如果當前的字串不是單詞並且也未作為首碼出現在表中,那麼就跳出當前方向的迴圈./*5-13(b)-10-28-21.17.c -- 第五章第十三題*/#include <stdio.h>#include
Time of Update: 2018-12-04
我真夠鬱悶,這麼久沒有更新部落格.罪過,罪過... 寫這個可擴散列,我寫出來的這個完全是個模型,限制較多,局限性也很強,大概32:1.呵呵.不過,儘管如此,拿來練手或者之前沒有寫過這個東西的朋友看到的話,還是很有協助的. 大概介紹下吧,不詳談了.本來想吹一頓的,無奈寫到現在,感覺很垃圾.於是不好意思大吹特吹了. 資料類型,無符號8位整數.對255以上的資料無效,想弄成負數要做的改動並不多.無奈不想再多耽擱了. 支援,初始化,插入,尋找,刪除,遍曆,清空.還算齊全的功能.
Time of Update: 2018-12-04
一晃一個月沒有寫東西,全是因為更多的精力放到了C++上.從5月4號開始的,馬上就一個月了.雖然還沒有學完,但也能寫出像二叉搜尋樹這樣的東西了. 新特性好多好多,功能好多,提供給使用者的介面更簡單.內部實現很複雜.建構函式,複製建構函式,重載賦值運算子,各種各種...通過寫這個東西小試身手下,再一個,到六月份了,一篇部落格也沒發表也不好看不是. 就不多說了,在網吧,旁邊有人...不想被看到寫了什麼,呵呵.貼咯~// 13-1-2011-06-01-21.17.cpp --
Time of Update: 2018-12-04
/*Uiversal_queue.h -- 隊列標頭檔*/#include "Head.h"/*Define data type*/typedef struct node{Item item ;struct node * next ;} Node ;typedef struct queue{Node * front ;Node * rear ;int current ;} * Queue ;/*Proclaim interface functions*/Bool Initialize_Q
Time of Update: 2018-12-04
/*PriorityQueue.h -- 最小堆標頭檔*/#include "Head.h"/*介面函式宣告*//*操作:建立並初始化一個優先隊列*//*操作前:ppq 指向一個優先隊列, size 是指定該優先隊列大小的變數*//*操作後:如果 size > 0 && 記憶體配置成功, 建立並初始化該優先隊列, 返回 TRUE ; 否則返回 FALSE*//*時間複雜度:O (1)*/BOOL Initialize_P (PriorityQueue * const
Time of Update: 2018-12-04
//nearTree.h -- 近親樹標頭檔#include <iostream>namespace tree{typedef int Item ;typedef struct node{Item item ;Item minOfAll, maxOfAll ;int minGap ;struct node * left, * right ;} Node ;const int INFINITY = ~(1 << 31) ;class
Time of Update: 2018-12-04
//nearTree.cpp -- 近親樹實現檔案#include "stdafx.h"#include "nearTree.h"namespace tree{//private:int NearTree :: m_Min (const int a, const int b, const int c, const int d) const{int min = a ;if (min > b)min = b ;if (min > c)min = c ;if (min >
Time of Update: 2018-12-04
區間樹.同樣是一種在二叉樹的基礎上擴充出來的資料結構.每個結點儲存了區間資訊. 這個常式,主要是為了接下來的東西而寫的.當然了,它本身也是很久價值的.//intervalTree.h -- 區間樹標頭檔#include <iostream>namespace tree{typedef int Item ;typedef struct node{Item min, max ;Item maxOfAll ;int number ;struct node * left, *
Time of Update: 2018-12-04
//intervalTree.cpp -- 區間樹實現檔案#include "stdafx.h"#include "intervalTree.h"namespace tree{//private:bool IntervalTree :: m_Overlap (const Item min, const Item max) const{if (m_min <= max){if (min <= m_max)return true ;elsereturn false