配對堆實現檔案C語言

/*PairingHeap.c -- 配對堆實現檔案*/#include "PairingHeap.h"/*全域變數聲明*/static Node * NullNode = NULL ;/*局部函式宣告*/static Node * compareAndLink_P (Node * const first, Node * const second) ;static Node * makeNode_P (const Item item) ;static Node *

配合Dijkstra演算法的Hash表標頭檔C語言

/*hash.h -- 雜湊表標頭檔*/enum KindOfEntry {LEGITIMATE, EMPTY, DELETED} ;#define PRIME (7)#define FAILED (-2)#define NUL ('/0')#define FALSE (0)#define TRUE (1)/*資料類型定義*/typedef char Name ;typedef struct cell{Name name ;int be_deleted

散列衝突次數測試C語言

  用來類比使用線性探測法散列,平方探測法散列,雙散列發生衝突的次數.  可指定隨機序列大小,可反覆產生隨機序列.可指定表的大小,並可更改表的大小.方便對各種長度隨機數序列,各種大小的表進行類比測試.實現思想就是用表的指定大小建立一個數組,並將所有元素初始化為0.進行類比時,根據隨機序列中的所有數值依次計算出在表中的索引,如果表中該索引的元素為0,將該元素置為OCCUPANCY,否則衝突計數器++,並嘗試下一次類比插入.重複此過程,之後返回衝突計數器的值,釋放表的空間. 

自頂向下伸展樹標頭檔C語言

  一晃又是好幾天.總算今天是有代碼出現了.  自頂向下伸展樹,比去年寫的那個伸展樹輕鬆多了.  人家總結出來的東西,我看懂了,完全讓我自己寫的話,很難啊.  這段代碼,有些技巧.說的就是"NullNode"到底是怎麼回事,具體的自己看代碼吧.而且,發現自己的C語言功底還不夠,自己補了下,而且接下來會有意識地學一學了.  不多說了.還有,下周去報名,程式員考試.我幹勁. /*SplayTree.h -- 自頂向下伸展樹標頭檔*//*酒後寫的標頭檔哦.*/#include <stdio.h&

紅/黑樹狀結構標頭檔C語言

  紅/黑樹狀結構,記得剛買那本書的時候我就發現有這個東西,覺得很神秘,終於接觸到了,並且,我已經寫出來了.很高興.  插入的常式是書上內建的,我給代碼實現了.細節部分,我並不是很清楚.刪除常式,是自己寫的,全下來寫了大概15小時,很辛苦.昨天晚上到家就開始寫,今天到家也是立刻就開始寫,寫完了.  我想說的是,關於刪除常式, 演算法部分的自己構建我很滿意,旋轉部分的細節實現以及細節,也是自己發現並總結的,而且是對的.很辛苦的過程啊,堅持過來了,哈哈. 

紅/黑樹狀結構實現檔案C語言

  這個東西,保證了樹的深度很低,而且旋轉的次數很少.較同類的AVL樹有了很大的提高.但是實現起來,並不簡單.  好吧,繼續我的習慣,代碼說明問題./*RedBlackTree.c -- 紅/黑樹狀結構實現檔案*/#include "RedBlackTree.h"/*全域變數引用*/extern Node * NullNode ;extern Node * Current, * Sibling, * Parent, * GrParent, * GrGrParent

棧數組實現標頭檔C語言

  數組的棧,好久沒有寫了.這次的寫,加深了理解,更加深刻地體會到常式中的技巧與實用./*stack.h -- 棧標頭檔*/#define EMPTY_TOP (-1)/*資料類型定義*/typedef int Stack_Item ;typedef struct stack{Stack_Item * array ;int capacity ;int top ;} * Stack ;/*介面函式宣告*//*操作:建立並初始化一個棧*//*操作前:pstack 指向一個棧, capacity

平面內最近點問題C語言實現

  ....最近的作品,實在是少得可憐.  不過還好,總比沒有得要好.  這個東西,是分治演算法的例子,是按照思路實現起來的,總體說來,還算不錯.希望接下來的,能實現得更自然./*10-16-11-01-22-23.17.c -- 第十章第十六題*//*有問題存在,偶爾出現段錯誤.偶爾出現計算錯誤.這道習題耽誤太久了,先不去研究了. -- 11-01-27-21.49*/#include <stdio.h>#include <stdlib.h>#include

棧數組實現實現檔案C語言

/*stack.c -- 棧實現檔案*/#include <stdio.h>#include <stdlib.h>#include "stack.h"/*介面函數定義*/int Initialize_S (Stack * const pstack, const int capacity){if (capacity <= 0)return 0 ;*pstack = (struct stack *) malloc (sizeof (struct stack)) ;if

反轉一個鄰接表C語言

  反轉一個鄰接表,沒有考慮權值.是為另一個常式服務的一個函數.貼出來吧.int Reverse_A (Adjacenty_List * const padj, const Hash_Table * const pht){Name name ;Adjoin_To_Vertex * scan, * new_vertex, * temp_1, * * temp_2 ;int w, i, capacity = (*padj) -> capacity ;for (i = 0; i <

棧實現檔案C語言

/*Stack_ADT.c -- 棧模型實現檔案*/#include <stdio.h>#include <stdlib.h>#include "Stack_ADT.h"/*局部函式宣告*/static Stack_Node * Make_Node (const Name * const panme) ;/*介面函數定義*/int InitializeStack (Stack * const pstack){*pstack = (Stack_Node *) malloc

7-37-11-27-22.11.c

  合并兩個文字檔,這個思想很不錯,我很喜歡./*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 ==

二叉搜尋樹標頭檔C++

//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) ;

7-40-11-27-23.10.c

  這個堆排序使用了新的下濾函數.對於已耗用時間的分析,暫時進行不了,回頭計算下吧.哪怕是很粗略的依賴於時鐘計時器./*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

單發點賦權最短路徑C語言

  話說,這個東西我寫了前前後後4天有餘, 光今天就寫了10小時.終於寫完了.感觸頗多啊.!  新的資料結構需要以前的資料結構結合使用,我沿著思路,進行設計,之後開始動筆,呵呵.開始寫,就是.  從Hash表,到鄰接表,再到二元堆積,磕磕絆絆,自己寫得比較著急,結果我還沒有那麼熟練,無法快速完成.能夠完成,我就已經很高興了.呵呵.  很多概念,是隨著寫代碼靈光起來的.寫著寫著,想起來書上原來有講過,呵呵. 

二叉搜尋樹實現檔案C++

//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 ->

跳躍表實現檔案C語言

祝自己,情人節快樂.  今天是正月十五.在家研究了一天收費公路重建問題.可恥的是,居然目前還沒有搞正確.  倒是發現,原來的跳躍表有問題.  還好,這個問題正確地解決了. /*SkipList.c -- 跳躍表實現檔案*/#include "SkipList.h"/*局部函式宣告*/static int logTwo (const int value) ;static void endow (Item * const l_value, const Item * const r_value)

可擴散列–可擴散列標頭檔C語言

  我真夠鬱悶,這麼久沒有更新部落格.罪過,罪過...  寫這個可擴散列,我寫出來的這個完全是個模型,限制較多,局限性也很強,大概32:1.呵呵.不過,儘管如此,拿來練手或者之前沒有寫過這個東西的朋友看到的話,還是很有協助的.  大概介紹下吧,不詳談了.本來想吹一頓的,無奈寫到現在,感覺很垃圾.於是不好意思大吹特吹了.  資料類型,無符號8位整數.對255以上的資料無效,想弄成負數要做的改動並不多.無奈不想再多耽擱了.  支援,初始化,插入,尋找,刪除,遍曆,清空.還算齊全的功能. 

O(NlgK)問題優先隊列標頭檔C語言

/*PriorityQueue.h -- 最小堆標頭檔*/#include "Head.h"/*介面函式宣告*//*操作:建立並初始化一個優先隊列*//*操作前:ppq 指向一個優先隊列, size 是指定該優先隊列大小的變數*//*操作後:如果 size > 0 && 記憶體配置成功, 建立並初始化該優先隊列, 返回 TRUE ; 否則返回 FALSE*//*時間複雜度:O (1)*/BOOL Initialize_P (PriorityQueue * const

近親樹標頭檔C++

//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

總頁數: 4314 1 .... 3948 3949 3950 3951 3952 .... 4314 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.