灵台方寸山 斜月三星洞

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

1、列表查找

  • 顺序查找

    也叫线性查找;

    从列表的第一个元素开始,顺序进行搜索,直到找到元素或搜索到列表的最后一个元素为止

  • 二分查找

    又叫折半查找;

    须在有序列表中进行;

    计算列表的中间值位置,将待查找值与中间值进行比较,生成新的候选区,直到候选区缩小到一个元素为止

2、列表排序

  • 冒泡排序

    列表中每两个相邻的元素进行比较,如果相邻元素的前后顺序不满足排序的顺序,把相邻的两个元素交换位置;

    列表中所有元素比较过一次后,无序区减少一个数,有序区增加一个数;

    无序区所有元素继续进行两两比较,直到无序区剩下最后一个数

  • 选择排序

    一趟排序找到列表中最小的数,与列表第一个元素交换位置;

    再一趟排序找到无序区中最小的数,与列表第二个元素交换位置;

    直到无序区剩下最后一个元素

  • 插入排序

    把列表第一个元素当作初始的有序区,其余为无序区;

    每次拿到无序区的第一个元素,把他插入到有序区中正确的位置;

    如果该元素在有序区中最大,位置不变;如果该元素在有序区中最小,有序区所有位置向后移动一位;

  • 快速排序

    取一个元素P(为了放便取第一个数),将该元素放置于列表中正确的位置(双指针法);

    列表被P分为两部分,左边的都比P小,右边的都比P大;

    递归完成其余元素的放置;

posted on 2022-03-20 16:23  大肚能容  阅读(303)  评论(0)    收藏  举报