第四篇:python基础(续2)

(1)冒泡排序

定义:比较相邻的元素大小,将小的前移,大的后移,就像水中的气泡一样,最小的元素经过几次移动,会最终浮到水面上。

代码实现:

输出结果:

(2)二分法

定义:二分法是一种快速查找的方法,时间复杂度低,逻辑简单易懂,总的来说就是不断的除以2除以2.

例如需要查找有序数组arr里面的某个关键字key的位置,那么首先确认arr的中位数或者中点center,下面分为三种情况:

假如arr[center]>key,说明key在arr中心左边范围;

假如arr[center]

假如arr[center]=key,说明key在arr中心。

规定:

范围每次缩小一半,写个while的死循环知道找到为止。

二分法查找非常快且非常常用,但是唯一要求是要求数组是有序的

代码实现:

输出结果:




©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 某次二面时,面试官问起Js排序问题,吾绞尽脑汁回答了几种,深感算法有很大的问题,所以总计一下! 排序算法说明 (1...
    流浪的先知阅读 4,911评论 0 4
  • 一、基础知识:1、JVM、JRE和JDK的区别:JVM(Java Virtual Machine):java虚拟机...
    杀小贼阅读 7,046评论 0 4
  • 排序算法说明 (1)排序的定义:对一序列对象根据某个关键字进行排序; 输入:n个数:a1,a2,a3,…,an 输...
    code武阅读 3,892评论 0 0
  • 我和他相恋六年。 高二的时候在一起,现在大学毕业了。 高考那年,我差三分与他相别于不同的城市。 于是,异地恋四年。...
    萌萌日记阅读 4,050评论 0 0
  • 我的妈妈是一位很平凡的家庭主妇,也是一位伟大的的妈妈,因为生下了四个儿女,还含辛茹苦抚养我们长大成人。 我...
    陕西姑娘在苏州阅读 2,944评论 3 4