![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 63
ahaitongxue
这个作者很懒,什么都没留下…
展开
-
二叉搜索树
1、定义左孩子的值都比自己小,右孩子的值都比自己大2、搜索伪代码如下BST_Search(root,x)输入:root(指向二叉搜索树的根节点)以及x(待搜索的某数)输出:node(指向值为x的节点的指针,如果没有值为x的节点,则为nil)beginif(root == nil || root.key == x){return root;}else{if原创 2018-01-13 10:40:59 · 130 阅读 · 0 评论 -
insert_sort
#includevoid printArray(int* array,int length){for(int i = 0;i printf("the index is %d,the value is %d\n",i,array[i]);}}// 直接插入排序// 基本思想/*有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序原创 2018-01-13 10:34:17 · 186 阅读 · 0 评论 -
select_sort
#includevoid printArray(int* array,int length){for(int i = 0;i printf("the index is %d,the value is %d\n",i,array[i]);}}// 选择排序// 基本思想/*每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序原创 2018-01-13 10:36:13 · 339 阅读 · 0 评论 -
quick_sort(pivot is left)
#include<stdio.h>void printArray(int* array,int length){for(int i = 0;i < length;i++){printf("the index is %d,the value is %d\n",i,array[i]);}}// left和right分别是array数组的左、右元素的下标。// 函数返回值...原创 2018-01-13 10:35:49 · 205 阅读 · 0 评论 -
merge_sort
#includevoid printArray(int* array,int length){for(int i = 0;i printf("the index is %d,the value is %d\n",i,array[i]);}}// 归并排序void mergeSort(int* array,int left,int right){int middle;原创 2018-01-13 10:34:58 · 130 阅读 · 0 评论 -
huffman
#include #include #include // 哈夫曼树/*比如有a,b,c,d,e五个字符,它们出现的频率(即权值)分别为(5,4,3,2,1)那么先取权值最小的两个来构造一个子树,左孩子是1,右孩子是2,父节点是这两个孩子的权值之和3那么现在集合中的数为(5,4,3,3)再取两个最小的来构造另一个子树,左孩子是3,右孩子也是3,父节点是6那么现在原创 2018-01-13 10:33:47 · 525 阅读 · 0 评论 -
heap_sort
#includevoid printArray(int* array,int length){for(int i = 0;i printf("the index is %d,the value is %d\n",i,array[i]);}}// 堆排序/*是选择排序的一种,分为大根堆和小根堆,是完全二叉树。大根堆的要求是每个节点的值都不大于其父节点的值。在数组的原创 2018-01-13 10:33:14 · 124 阅读 · 0 评论 -
bubblesort
// 冒泡排序#includevoid bubblesort(int* array,int length){int i,j;for(i = 0;i for(j = 0;j if(array[j] > array[j + 1]){int temp = array[j];array[j] = array[j + 1];array[j + 1] = temp;}原创 2018-01-13 10:29:30 · 166 阅读 · 0 评论 -
leetcode_CleanCodeHandbook索引页(转)
https://blog.csdn.net/pkgray/article/details/80881201转载 2019-04-17 10:17:27 · 306 阅读 · 0 评论 -
binarysearch
// 折半查找#includeint binarySearch(int x,int* array,int left,int right){// 在有序数组array的left至right范围内查找x,并返回x在数组中的下标,如果没有找到,则返回-1if(left > right){printf("the left is larger than right,error\n");r原创 2018-01-13 10:27:38 · 130 阅读 · 0 评论