算法
文章平均质量分 61
朝来寒雨晚来风
读书,是一种习惯!
展开
-
查找算法之线性表查找
一 基本概念查找表:由同一类型的数据元素构成的集合。静态查找表:支持的操作:(1)查询特定的元素是否在查找表中。(2)检索某个特定的元素的各种属性。(1)(2)操作统称为“查找”操作。动态查找表:在进行查找的操作时候,同时插入不存在的元素,或者删除表中已经存在的元素。平均查找长度(ASL):对关键字需要执行的平均比较次数作为衡量查找算法效率的标准。二 线性表查找算法原创 2015-08-29 21:26:21 · 2389 阅读 · 0 评论 -
查找算法之二叉查找树
一 基本概念由于线性表的查找算法对动态操作的支持效率很低,因此将几种特殊的树或者二叉树作为表的一种组织方式。二叉树查找树非空树的话,具有下列性质:(1)若它的左子树非空,则左子树上所有的结点的值均小于根结点的值。(2)若它的右子树非空,则右子树上所有的结点的值均大于根结点的值。(3)左子树和右子树又均为一颗二叉查找树。其实,二叉查找树的中序遍历是一个有序序列。原创 2015-08-30 08:47:17 · 387 阅读 · 0 评论 -
排序算法之冒泡排序
基本思想: (1)先将具有n个数的待排序序列进行最多n-1次的顺序俩俩比较,将序列最大的值放入最后的位置n-1。 (2)继续对前n-1个数进行俩俩比较,将次大的数放在n-2的位置。 (3)依次进行,直至排序完成。方法一:templatevoid list::Bubblesor原创 2015-08-31 22:30:25 · 314 阅读 · 0 评论 -
排序算法之快速排序
基本思想:(1)在待排序的序列中随便找一个数作为基准数(用来参照的数),假设将第一个数作为基准数,接下来,需要将这个序列中所有比基准数大的数放在它的右边,比基准数小 的数放在它的左边。(2)目标是将基准数挪到序列中间的某个位置,假设这个位置是k。现在就需要寻找这个k,并且以第k位为分界点,左边的数都小于等于基准值,右边的数都大于等于基准值。原创 2015-08-31 22:45:06 · 355 阅读 · 0 评论 -
排序算法之树形选择排序
树形选择排序又名锦标赛排序,算法思想与体育比赛类似, 首先将n个数据元素两两分组,分别按关键字进行比较,得到n/2个比较的优胜者(关键字小者),作为第一步比较的结果保留下来, 然后对这n/2个数据元素再两两分组,分别按关键字进行比较,如此重复,直到选出一个关键字最小的数据元素为止。树形选择排序构成的树是满二叉树。算法步骤:1.先获取需要排序的n个数据对象。2.将n个数据对象用数原创 2015-08-19 21:28:31 · 6244 阅读 · 1 评论 -
排序算法之插入排序
一 前言八种排序算法的关系:二 插入排序插入排序基本思想:按照关键字的大小将一个关键字插入到一个有序序列的文件的适当位置,并且使插入后的文件仍然是有序的。在插入的时候,寻找合适的位置可以采用顺序查找法,折半查找法等其他方法,相应的插入排序有:直接插入排序,折半插入排序,希尔排序。结点定义:templateclass node{ friend cla原创 2015-08-31 18:20:35 · 324 阅读 · 0 评论