算法
文章平均质量分 74
generalharry
这个作者很懒,什么都没留下…
展开
-
字符串匹配的KMP算法
原文地址:http://www.ruanyifeng.com/blog/2013/05/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm.html举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"?许多算法可以完成这个任务,Knuth-Morris-Pratt转载 2013-08-30 00:23:27 · 746 阅读 · 0 评论 -
数据结构中常用的排序算法
排序常用的算法有:插入算法(直接插入算法、折半插入算法、希尔算法)、选择算法(简单选择算法、堆排序算法)、快速算法(冒泡排序、快速排序算法)以下程序给出了各种算法的实现,其接口为void sort(int *array,int len),每个文件实现一个算法, 最后和main.c文件编译实现。1、直接插入算法://direct_insert_sort.cvoid sort(in原创 2013-05-21 11:27:15 · 7689 阅读 · 0 评论 -
分治法与归并排序
#include#include/***归并排序的主要思想:分治法 Divide and Conquer**1 Divide: 将数组array[p,q),从中间分开,分成两个子数组sub1[p,r),sub2[r,q);**2 Conquer: 递归调用merge_sort,直到p+1==q,只有一个元素;**3 Combine: 对两个有序的子数组[p,r),[r,q)原创 2013-09-08 10:29:14 · 1398 阅读 · 0 评论 -
二叉搜索树的搜索、排序、插入、删除
#include #include#define MAXLINE 5using namespace std; struct Node{int data;struct Node * lchild;struct Node * rchild;};void insertBinaryTree(struct Node *root,int data){str原创 2013-09-13 15:50:24 · 956 阅读 · 0 评论 -
分治法与快速排序算法
/***分治法与快速排序算法。数组array[p,q]**1、Divide: 选中数组最左边的起始元素,所有小于起始元素的值都复制到存放起始元素的左边,** 所有大于起始元素的值都存放到起始元素的右边,并返回起始元素所在的位置r。**2、Conquer: 对[p,r)以及[r+1,q)分别递归调用快速排序算法,直到p==q,不在划分,直接返回。****3、Combine原创 2013-09-08 15:46:53 · 1167 阅读 · 0 评论