![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
wzw-blog
这个作者很懒,什么都没留下…
展开
-
快速排序
//快排最差时间复杂度和冒泡排序是一样的都是O(N^2)#include <stdio.h>#define MAX 8int rec_quik_sort(int *array, int left, int right){int i ,j;int tmp = 0;int redix = 0;if(left > right){return;}...原创 2018-07-25 09:57:10 · 76 阅读 · 0 评论 -
逆波兰表达式(也叫做后缀表达式)
逆波兰表达式又叫后缀表达式,中学时候学的那种表达式叫中缀表达式。例如,5×(6+3)÷3-1 , 3×(4÷(2+1)×2)-3例子中的这两个式子,就是中缀表达式。下面这两个就是后缀表达式:563+×3÷1- , 3421+÷2××3- 中缀表达式变后缀表达式方法:见到数字直接输出,见到符号按一定规则入栈出栈。规则就是,用当前的符号与栈顶的符...转载 2018-07-28 17:04:04 · 3054 阅读 · 0 评论 -
查找树
#include <stdio.h>#include <stdlib.h>#include <assert.h>/*查找树:二叉树节点排列有序,方便快速查找.左孩子节点必须小于根节点,右孩子节点必须大于根节点1.lchild 值 <=根节点2.rchild 值 >=根节点如果对以上树按照中序遍历,输出一个升序序列创建查...原创 2018-07-26 07:45:34 · 115 阅读 · 0 评论 -
希尔排序(特殊的插入排序)
#include <stdio.h>/*希尔排序:是一种特殊插入排序,根据等长度比较对应的元素值时间复杂度:O(n^1.25)*/void sort_data(int * array,int len){ int i; int j; int tmp; for(i=len/2;i>0;i=i/2) { ...原创 2018-07-29 11:42:49 · 177 阅读 · 0 评论 -
归并排序
时间复杂度O(nlog n)#include <stdlib.h>#include <stdio.h> void Merge(int sourceArr[],int tempArr[], int startIndex, int midIndex, int endIndex){ int i = startIndex, j=midIndex+1, ...原创 2018-07-26 16:41:19 · 92 阅读 · 0 评论 -
最小生成树-Prim算法和Kruskal算法
最小生成树-Prim算法和Kruskal算法 假设以下情景,有一块木板,板上钉上了一些钉子,这些钉子可以由一些细绳连接起来。假设每个钉子可以通过一根或者多根细绳连接起来,那么一定存在这样的情况,即用最少的细绳把所有钉子连接起来。更为实际的情景是这样的情况,在某地分布着N个村庄,现在需要在N个村庄之间修路,每个村庄之前的距离不同,问怎么修最短的路,将各个村庄连接起来。以上这些问题都...转载 2018-07-30 09:24:02 · 266 阅读 · 0 评论 -
hash表
#include <stdio.h>#include <assert.h>#include <stdlib.h>#include <string.h>/*hash表:称为散列表,由键值对存储数据.加快查找效率.查找值时根据键值找到值存储的位置.存储数据结构称为hash表体现键值与存储值关系称为hash函数f(key)=va...原创 2018-07-27 07:46:33 · 159 阅读 · 0 评论 -
反向输出链表的两种方法
①不改变链表的结构(利用递归的本质是利用栈)void Reve_list(listnode* phead){if(phead!=NULL){if(phead->next!=NULL){Reve_list(phead->next);}printf("%d\t",phead->value);}}②改变链表的结构(反转链表)(利用两个 空...原创 2018-10-02 10:13:29 · 4393 阅读 · 0 评论