
数据结构与算法分析
文章平均质量分 60
duangyhn
这个作者很懒,什么都没留下…
展开
-
queue c 实现
不知道有没有用,反正记录下来#ifndef _Queue_H#define _Queue_Hstruct QueueRecord;typedef struct QueueRecord * Queue;typedef int Item;int isFull(Queue Q);int isEmpty(Queue Q);Queue initial(int maxEle);void e原创 2017-03-29 17:38:18 · 705 阅读 · 0 评论 -
avl树 C实现
头文件:#ifndef _Avl_Tree_H#define _Avl_Tree_Hstruct AvlNode;typedef struct AvlNode *AvlTree;typedef struct原创 2017-04-04 15:44:49 · 374 阅读 · 0 评论 -
归并排序 快速排序
归并排序#include#includestatic void merge(int arr[],int tmpArr[],int lpos,int rpos,int rend){ int lend,start,num,i; lend=rpos-1; start=lpos; num=rend-lpos+1; while(lpos<=lend && rpos<=rend){原创 2017-04-15 18:54:39 · 293 阅读 · 0 评论 -
插入排序、冒泡排序、希尔排序、堆排序、计数排序、基数排序
复习一下插入排序、冒泡排序、希尔排序、堆排序、计数排序、基数排序插入排序 平均复杂度 O(n^2),最好情况为O(N),且是稳定的。插入排序是在一个已经有序的小序列的基础上,一次插入一个元素。当然,刚开始这个有序的小序列只有1个元素,也就是第一个元素(默认它有序)。冒泡排序 平均复杂度 O(n^2),最好情况为O(N),且是稳定的。它从左到右依次交换元素,若在一次循环中没有出现交换...原创 2017-04-15 16:33:47 · 313 阅读 · 0 评论 -
散列 开放定址法 C实现
头文件#ifndef _open_hash_h#define _open_hash_h#define MINNUM 11struct Node;struct HashTbl;enum kind {legeal,empty,deleted};typedef struct Node Cell;typedef struct HashTbl *HashTable;typedef i原创 2017-04-06 14:32:25 · 591 阅读 · 0 评论 -
不相交集 C实现
不相交集基本历程头文件#ifndef _disjSet_H#define _disjSet_Htypedef int* disjSet;void initial(disjSet S,int size);void setUnion(disjSet S,int root1,int root2);int find(disjSet S,int i);#endif源文件#i原创 2017-04-19 11:14:39 · 316 阅读 · 0 评论 -
分离连接法 散列
最简单的一个散列表示头文件#ifndef _Hash_H#define _Hash_Hstruct ListNode;struct HashTbl;typedef struct ListNode *Position;typedef struct HashTbl *HashTable;typedef int Item;HashTable initial(int table原创 2017-04-04 20:08:01 · 305 阅读 · 0 评论 -
二叉树 C实现
头文件#ifndef _Bin_tree_H#define _Bin_tree_Hstruct TreeNode;typedef struct TreeNode *Position;typedef struct TreeNode *BinTree;typedef int Item;BinTree makeEmpty(BinTree T);Position find(Item原创 2017-04-03 21:04:08 · 377 阅读 · 0 评论 -
二项队列 C语言
实现了二项队列的基本功能,参考书籍 数据结构与算法分析 C描述头文件#ifndef _BINQUEUE_H#define _BINQUEUE_Hstruct Binnode;struct Collection;typedef struct Collection *BinQueue;typedef struct Binnode *BinTree;typedef int Ite原创 2017-04-11 14:03:04 · 885 阅读 · 0 评论 -
stack c 实现
#ifndef _Stack_H#define _Stack_Hstruct Node;typedef struct Node *PtrToNode;typedef PtrToNode Stack;typedef PtrToNode Position;typedef int Item;int isEmpty(Stack stack);Stack createStack(void原创 2017-03-29 17:35:16 · 413 阅读 · 0 评论 -
双端队列 C 实现
双端队列可以前插后插前删后删,通过数组实现,这里给出基本功能:头文件如下:#ifndef _Double_Queue_H#define _Double_Queue_Hstruct PtrToNode;typedef struct PtrToNode *double_Queue;typedef int Item;double_Queue initial(void);int isE原创 2017-03-31 14:41:49 · 4684 阅读 · 3 评论 -
list c实现
仅仅作为我的代码纪念,没有任何注释,代码风格也很差//list.h#ifndef _List_H#define _List_Htypedef int Item;struct Node;typedef struct Node *PtrToNode;typedef PtrToNode List;typedef PtrToNode Position;List initialLis原创 2017-03-29 17:30:45 · 991 阅读 · 0 评论 -
优先队列 C实现
二叉堆基本操作呈上头文件#ifndef _Heap_H#define _Heap_H#define MIN 0 //假设插入值均严格大于0 struct HeapStruct;typedef struct HeapStruct *Heap;typedef int Ite原创 2017-04-08 15:36:44 · 652 阅读 · 0 评论 -
左式堆 C实现
left_heap.h#ifndef _Left_Heap_H#define _Left_Heap_Htypedef int Item;typedef struct Left_Heap{ struct Left_Heap *left; struct Left_Heap *right; Item item; int Npl; } *heap;heap initial(v原创 2017-04-09 16:54:52 · 323 阅读 · 0 评论 -
二叉树那些非递归遍历
#include<iostream>#include<stack>using namespace std;class TreeNode{public: TreeNode(char val):val(val),left(nullptr),right(nullptr){} char val; TreeNode* left,*right;};void pr...原创 2018-09-05 16:15:14 · 154 阅读 · 0 评论