原创 斐波那契查找(黃金分割)

在插值查找的基礎上,可以把比例值固定爲0.618(黃金分割值),每次查找的時候都按照(mid前元素個數)/(mid後元素個數)=0.618來判斷下一次查找的位置。爲了滿足初始狀態下,數組元素個數符合斐波那契數列中的某個值,需要在查

原创 C語言遞歸解決八皇后問題

B站視頻-https://www.bilibili.com/video/av21828275?p=35 #include <stdio.h> int count = 0; int notDanger( int row, int

原创 歸併排序(遞歸和迭代實現)

遞歸實現:B站小甲魚視頻 https://www.bilibili.com/video/BV1jW411K7yg?p=95 #include <stdio.h> #define MAXSIZE 10 // 實現歸併,並把最後的結

原创 B樹代碼(C語言)

btree.h //實現對order序(階)的B-TREE結構基本操作的封裝。 //查找:search,插入:insert,刪除:remove。 //創建:create,銷燬:destory,打印:print。 #if

原创 散列表(哈希表)

哈希表的構造和衝突解決方法: http://data.biancheng.net/view/63.html 其中二次探測法:d= 12,-12,…… 哈希查找算法: 給定要查找的關鍵字key之後,先用過哈希函數找到key對應的地址

原创 希爾排序

簡書教程 https://www.jianshu.com/p/d730ae586cf3 這裏面的gap是每次折半,所以最後能夠達到gap = 1,但是如果只把gap = gap/2換成gap = gap/3是不行的,比如gap =

原创 堆排序(原理加代碼)

博客園他人教程: https://www.cnblogs.com/chengxiao/p/6129630.html C語言代碼: #include <stdio.h> int count = 0; void swap(int

原创 C語言實現平衡二叉樹

B站小甲魚視頻 https://www.bilibili.com/video/BV1jW411K7yg?p=79 博客園教程(按步驟講解) https://www.cnblogs.com/zhujunxxxxx/p/3348798

原创 二叉排序樹的查找、插入和刪除

• 二叉排序樹(Binary Sort Tree)又稱爲二叉查找樹,它或者是一棵空樹,或者是具有下列性質的二叉樹: – 若它的左子樹不爲空,則左子樹上所有結點的值均小於它的根節點的值; – 若它的右子樹不爲空,則右子樹上所有結點的

原创 拓撲排序

B站小甲魚視頻 https://www.bilibili.com/video/BV1jW411K7yg?p=67 有向無環圖(DAG)纔有拓撲排序 拓撲序列:設G=(V,E)是一個具有n個頂點的有向圖,V中的頂點序列V1,V2,…

原创 關鍵路徑

B站小甲魚視頻 https://www.bilibili.com/video/BV1jW411K7yg?p=69 – etv(Earliest Time Of Vertex):事件最早發生時間,就是頂點的最早發生時間; – ltv

原创 圖的存儲結構(鄰接矩陣)

圖的鄰接矩陣(Adjacency Matrix)存儲方式是用兩個數組來表示圖。一個一維數組存儲圖中頂點信息,一個二維數組(稱爲鄰接矩陣)存儲圖中的邊或弧的信息。 無向圖 我們可以設置兩個數組,頂點數組爲vertex[4]={V0

原创 matlab調用API

*號處補全調用API相對應的信息 function [output] = user_info() clear URL = 'http://**************'; user_name = '***********'; t

原创 哈夫曼樹(C語言)

B站小甲魚講解他的代碼的視頻:https://www.bilibili.com/video/av21828275?p=53 其他網站講解:http://data.biancheng.net/view/33.html 小甲魚的代碼中

原创 隊列基本操作

小甲魚《數據結構與算法》-棧和隊列7 隊列(queue)是隻允許在一端進行插入操作,而在另一端進行刪除操作的線性表。 與棧相反,隊列是一種先進先出(First In First Out, FIFO)的線性表。 鏈隊列結構 type