算法
文章平均质量分 74
han867241432
这个作者很懒,什么都没留下…
展开
-
选择第i小的元素
思想:利用快排的分割函数,判断小于主元素的元素个数是否为i - 1,是则返回,否则继续递归。#include //输出void print(int array[], int size){ int i = 0; for(i = 0; i < size; i++) { printf("%d ", array[i]); } printf("\n");}//交换void原创 2015-09-22 10:09:13 · 617 阅读 · 0 评论 -
堆排序
#include //输出void print(int array[], int size){int i = 0;for(i = 0; i {printf("%d ", array[i]);}printf("\n");}//两数交换void swap(int *a, int *b){int temp = *a;*a = *原创 2015-09-20 22:45:23 · 301 阅读 · 0 评论 -
快速排序
思想:以某一元素为基准,将剩余元素拆分为大于该元素和小于该元素的两部分,然后再分别选取基准元素,重复拆分,知道该部分中剩余元素为一个。#include //输出void print(int array[], int size){int i = 0;for(i = 0; i {printf("%d ", array[i]);}print原创 2015-09-21 14:39:20 · 260 阅读 · 0 评论 -
合并排序
#include //合并子序列void merge(int array[], int start, int mid, int end){int len_l = mid - start + 1; // 左子串长度int len_r = end - mid;//右子串长度int len = 0, len_max = 0;//len:两个字串小值,l原创 2015-09-16 09:20:09 · 290 阅读 · 0 评论 -
广度优先搜索
#include #include #include #include using namespace std;typedef struct _stNode{ int syb;}stNode;#define NUM 8stNode nodeAry[8];stNode *parent[8];int dis[8];int color[8];list graph[原创 2016-05-25 16:30:54 · 268 阅读 · 0 评论 -
霍夫曼编码
看了算法导论关于霍夫曼编码的内容,然后做了实现,可能并不是很好,写得比较复杂。//heap.h#ifndef HEAP_H#define HEAP_H#include #include #include typedef struct _letter{ int freq; char alpha; char *code;}stLetter;typedef struct原创 2016-05-20 21:19:04 · 466 阅读 · 0 评论 -
深度优先搜索
深度优先搜索算法:#ifndef DFS_H#define DFS_H#include #include "stdio.h"#include using namespace std;#define NUM 6typedef struct _stNode { char syb;}stNode;stNode nodeAry[NUM];int color[NUM原创 2016-06-04 17:03:51 · 256 阅读 · 0 评论