在要求输入邮箱的文本域,请填写真实的邮件地址。非真实邮件地址,将收不到回复信息。

 分类:数据结构与算法

七种查找算法

查找是在大量的信息中寻找一个特定的信息元素,在计算机应用中,查找是常用的基本运算,例如编译程序中符号表的查找。由于查找运算的使用频率很高,几乎在任何一个计算机系统软件和应用软件中都会涉及到,所以当问题所涉及的数据量相当大时,查找方法的效率就显得格外重要。 查找定义:根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录)。   查找算法分类:   1)静态查找和动态查找;     注:静态或者动态都是针对查找表而言的。动态表指查找表中有删除和插入操作的表。   2)无序查找和有序查找。     无序查找:被查找数列有序无序均可;     有序查找:被查找数列必须为有序数列。   平均查找长度(Average Search Length,ASL):需和指定key进行比较的关键字的个数的期望值,称为查找算法在查找成功时的平均查找长度。   对于含有n个数据元素的查找表,查找...

7年前 (2016-12-17) 672℃ 0评论 2喜欢

快速排序算法(Quicksort)

一、排序算法(Sorting algorithm)是计算机科学最古老、最基本的课题之一。要想成为合格的程序员,就必须理解和掌握各种排序算法。目前,最常见的排序算法大概有七八种,其中”快速排序”(Quicksort)使用得最广泛,速度也较快。它是图灵奖得主C. A. R. Hoare(1934–)于1960时提出来的。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。 (1) 分治法的基本思想 将原问题分解为若干个规模更小但结构与原问题相似的子问题。递归地解这些子问题,然后将这些子问题的解组合为原问题的解。 (2)快速排序的基本思想,整个排序过程只需要三步 在数据集之中,选择一个元素作为”基准”(pivot)。 所有小于”基准”的元素,都移到”基准&#...

8年前 (2016-07-05) 789℃ 0评论 1喜欢