算法与数据结构
天外来客-007
坚守自己的努力方向才不会在人生的旅途中迷失自我!
展开
-
数据结构的简单概念
1 . 数据结构是数据元素集合,这些数据元素之间存在着一种或多种特定关系.2 . 数据元素之间的关系可以分为: (1) 集合: 结构中的数据元素之间属于同一个集合,但别无其他关系,等同于数学上的集合的概念. (2) 线性结构: 结构中的数据元素之间存在一个对一个的关系. (3) 树形结构: 结构中的数据元素之间存在一个对多个的关系. (4) 图状结构或原创 2007-11-24 10:39:00 · 1241 阅读 · 0 评论 -
标准模版库中的容器
关于标准模版库中的容器,现从书中录入如下,以便共享: 顺序容器性能比较 比较部分 vector de原创 2008-04-20 15:40:00 · 743 阅读 · 1 评论 -
数据结构-线性表
关于线性表:定义: 线性表是拥有N个数据元素的有限序列。数据对象: D={ a[i] | a[i]∈ElemSet, i=1,2,3,...,n,n≥0}数据关系: R1={ | a[i-1],a[i]∈D,i=1,2,3,...,n}栈是一种限定仅在表尾进行插入或删除操作的线性表,栈元素的修改是按照后近先出的原则进行的,因此栈又称为后进先出线性表(简称LIFO结构),相反,队列是原创 2008-06-07 13:19:00 · 852 阅读 · 0 评论 -
排序算法思想和实现(代码)(二)
1. 快速排序算法 /* --------------------------------------------------------------------------** 函数名称: ms_quick_sort 参数含义: int data[] (i/o) 排序数组 int low (i) 数组低序坐标原创 2008-12-28 16:08:00 · 841 阅读 · 0 评论 -
排序算法思想和实现(代码)(一)
1. 直接插入排序算法 /* --------------------------------------------------------------------------** 函数名称: ms_insert_direct_sort 参数含义: int data[] (i/o) 排序数组 int n (i) 数组原创 2008-12-27 21:03:00 · 920 阅读 · 0 评论 -
稳定的排序算法(二)
基数排序(radix sort)基数排序(radix sort)属于“分配式排序”(distribution sort),基数排序法又称“桶子法”(bucket sort)或bin sort,顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排序的作用,基数排序法是属于稳定性的排序,其时间复杂度为O (nlog(r)m),其中r为所采取的基数,而m为堆数,在某些时候,原创 2013-08-22 17:31:07 · 975 阅读 · 0 评论 -
不稳定的排序算法(一)
选择排序(Selection sort)选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。选择排序的主要优点与数据移动有关。如果某个元素位于正确的最终位置上,则它不会被移动。选择排序每次交原创 2013-08-23 11:08:37 · 4108 阅读 · 0 评论 -
不稳定的排序算法(二)
快速排序(Quick sort)快速排序(Quick sort)是对冒泡排序的一种改进。由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。设要排序的数组是A[0]……A[N-1]原创 2013-08-23 16:50:47 · 1555 阅读 · 0 评论