
算法&数据结构
文章平均质量分 68
eric491179912
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Gallery of Processor Cache Effects
Most of my readers will understand that cache is a fast but small type of memory that stores recently accessed memory locations. This descr转载 2011-07-18 16:16:50 · 881 阅读 · 0 评论 -
二叉树三种遍历的非递归算法
1.先序遍历非递归算法#define maxsize 100typedef struct{ Bitree Elem[maxsize]; int top;}SqStack;void PreOrderUnrec(Bitree t){ SqStac转载 2011-08-17 21:25:06 · 888 阅读 · 0 评论 -
电梯调度算法
编程之美------电梯调度算法2011-06-02 15:24一座大厦一共有6部电梯。在高峰时间,每层都有人上下,电梯在每层都停。实习生小飞常常会被每层都停的电梯弄得很不耐烦,于是他提出了这样的一个办法:由于楼层并不太高,那么在繁忙的上下班时转载 2011-08-17 14:52:03 · 11646 阅读 · 3 评论 -
图的邻接表存储 深度优先遍历 广度优先遍历 C语言实现
ALGraph.hview plain#pragma once #include "Queue.h" /************************************************************转载 2011-08-17 15:41:20 · 14723 阅读 · 0 评论 -
各种排序算法的稳定性和时间复杂度小结
选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。冒 泡法: 这是最原始,也是众所周知的最慢的算法了。他的名字的由来因为它的工作看来象是冒泡: 复杂度为O(n*n)。当数据为正序,将不会有交换。复杂转载 2011-08-17 14:28:11 · 1196 阅读 · 0 评论 -
折半查找(二分查找)
折半查找又叫二分查找,要求查找表本身必须是有序的。查找算法复杂度为O(logn)。C标准库提供折半查找的库函数,声明如下bsearch(const void *, const void *, size_t, size_t, int (__cdecl *)(const vo转载 2011-08-17 11:32:51 · 1487 阅读 · 0 评论 -
归并排序
归并排序 归并排序 (merge sort) 是一类与插入排序、交换排序、选择排序不同的另一种排序方法。归并的含义是将两个或两个以上的有序表合并成一个新的有序表。归并排序有多路归并排序、两路归并排序 , 可用于内排序,也可以用于外排序。这里仅对内排序的两路归并方法进行讨论转载 2011-09-06 21:48:12 · 3503 阅读 · 0 评论 -
插入类排序
直接插入排序 1.定义 直接插入排序( straight insertion sort )是一种最简单的排序方法。它的基本操作是将一个记录插入到一个长度为 m (假设)的有序表中,使之仍保持有序,从而得到一个新的长度为 m + 1 的有序表。2.算法思路转载 2011-08-07 19:58:44 · 833 阅读 · 0 评论 -
【转】B 树、B- 树、B+ 树、B* 树都是什么
B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树; 如:转载 2011-09-06 15:43:55 · 1419 阅读 · 0 评论 -
算法的时间复杂度(计算实例)
<br />定义:如果一个问题的规模是n,解这一问题的某一算法所需要的时间为T(n),它是n的某一函数 T(n)称为这一算法的“时间复杂性”。<br /><br />当输入量n逐渐加大时,时间复杂性的极限情形称为算法的“渐近时间复杂性”。<br /><br />我们常用大O表示法转载 2011-02-18 11:28:00 · 1130 阅读 · 0 评论 -
选择类排序
简单选择排序 简单选择排序(simple selection sort)也是直接选择排序。此方法在一些高级语言课程中做过介绍,是一种较为容易理解的方法。1.算法思想 对于一组关键字{K1,K2,…,Kn}, 首先从K1,K2,…,Kn中选择最小值,假如它是 Kz转载 2011-08-16 20:19:59 · 968 阅读 · 0 评论 -
交换类排序
交换排序 交换排序主要是根据记录的关键字的大小,将记录交换来进行排序的。交换排序的特点是:将关键字值较大的记录向序列的后部移动,关键字较小的记录向前移动。这里介绍两种交换排序方法,它们是冒泡排序和快速排序。冒泡排序 将被排序的记录数组R[1..n]垂直排列转载 2011-08-07 22:18:23 · 1018 阅读 · 0 评论