![](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) begin if(root == nil || root.key == x){ return root; }else{ if原创 2018-01-13 10:40:59 · 130 阅读 · 0 评论 -
insert_sort
#include void 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
#include void 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
#include void 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
#include void 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
// 冒泡排序 #include void 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
// 折半查找 #include int binarySearch(int x,int* array,int left,int right){// 在有序数组array的left至right范围内查找x,并返回x在数组中的下标,如果没有找到,则返回-1 if(left > right){ printf("the left is larger than right,error\n"); r原创 2018-01-13 10:27:38 · 130 阅读 · 0 评论