![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 56
huxin2007
这个作者很懒,什么都没留下…
展开
-
《C算法》——基本数据结构及其算法
数组-----------------------------------------------------------------------------------------------------厄拉多塞素数筛选法求出小于N的所有素数(若i为素数,则设置a[i]为1;不是素数则设为0)#define N 1000main()...{ int i, j, a[N];原创 2006-09-28 16:20:00 · 1497 阅读 · 0 评论 -
常用算法设计方法
常用算法设计方法 要使计算机能完成人们预定的工作,首先必须为如何完成预定的工作设计一个算法,然后再根据算法编写程序。计算机程序要对问题的每个对象和处理规则给出正确详尽的描述,其中程序的数据结构和变量用来描述问题的对象,程序结构、函数和语句用来描述问题的算法。算法数据结构是程序的两个重要方面。 算法是问题求解过程的精确描述,一个算法由有限条可完全机械地执行的、有确定结果的指令组成。指令正转载 2006-09-28 14:36:00 · 1479 阅读 · 0 评论 -
《C算法》——递归和动态规划
递归 动态规划可以非常容易的将一个指数时间的递归问题转化为线性时间。下面是两个简单的例子。----------------------------------------------------------------------------------------------------斐波纳契数(递归实现)不可行int F(int i)...{ if(i 1)原创 2006-09-28 16:28:00 · 3284 阅读 · 4 评论 -
《C算法》——树
二叉树 定义typedef struct node* link;struct node ...{ Item item; link l, r; };二叉树的先序遍历(递归) void traverse(link h, void (*visit)(link))...{ if(h == NULL) return; (*visit)(h);原创 2006-10-12 13:36:00 · 910 阅读 · 0 评论 -
《C算法》——图
图的深度优先搜索深度优先搜索与一般树遍历之间的差别在于需要明确防止访问已访问过的节点。实际上,如果图为一棵树,则从根开始的深度优先搜索等价于先序遍历。 void traverse(int k, void (*visit)(int))...{ link t; (*visit)(k); visited[k] = 1; for(t = adj[k]; t != NULL原创 2006-10-12 15:34:00 · 1093 阅读 · 0 评论 -
《C算法》——基本排序方法
主要介绍几种基本的排序方法,包括选择、插入、冒泡和希尔排序。插入排序属于非适应性排序——即所执行的运算序列独立于数据的顺序。选择、插入、冒泡排序时间复杂度均为O(N^2)快速、归并排序时间复杂度为O(N logN)希尔排序的时间复杂度为O(N^(1.5))键索引排序的时间复杂度为O(N)公共部分 typedef int Item;#define less(A, B) ((A) #原创 2006-10-14 13:07:00 · 1147 阅读 · 0 评论 -
《C算法》——堆排序
堆排序(Heap Sort)只需要一个记录大小的辅助空间堆排序在最坏的情况下,其时间复杂度为O(nlog n),相对于快速排序来说,这是堆的最大优点。堆是一棵完全二叉树,且树中不存在大于(小于)父节点的节点。堆中的第i个元素大于或等于第2i个元素和第2i+1个元素。自底向上的堆化fixUp(Item* a, int k)...{ while(k>1 && less(a[k/2], a原创 2006-10-16 16:42:00 · 1691 阅读 · 0 评论 -
《C算法》——快速排序
快速排序是排序的一种分治方法。它的基本思想是,通过一趟排序将待排记录分割为独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。快速排序的时间复杂度为O(N logN)在最坏情况下,快速排序使用约(N^2)/2次比较快速排序需要栈空间来实现递归,经过改进栈的最大深度可降为O(log n)int Partition(Item*原创 2006-10-14 14:57:00 · 1089 阅读 · 0 评论