Python|用“插入”也能简单排序

引言

在排序这一个大家庭里,它的算法成员形形色色,多种多样,有“快速排序”,“归并排序”,“插入排序”等等基本排序算法。而今天,所要侧重讲解“插入”排序算法,排序,是指将无序序列中的各个元素,依照规则进行有序排列,而插入排序便是一种排序方法,它相当于是在已有的有序排列中,从前往后扫描,然后根据相应规则,放置到相应的位置当中,就一般问题,例如,已有3个元素已经是有序排列后,想要插入第4个元素时,我们便需要从第3个元素开始往前进行扫描,把已经排序的序列往后移,为新元素的插入腾出空间,如果符合插入规则,便可直接插入。

问题描述

在给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。

你可以假设数组中无重复元素。

示例1:

输入:[1,3,5,6],5

输出:2

示例2:

输入:[1,3,5,6],2

输出:1

示例3:

输入:[1,3,5,6],7

输出:4

示例4:

输入:[1,3,5,6],0

输出:0

算法描述

首先通过示例我们可以知道,我们要做的便是在已经排序好了的列表当中插入一个阿拉伯数字,规则便是从小到大排序,而题目要求的是返回插入位置的下标,那么我们要做的很简单,直接通过遍历已知的列表,可以通过从小到大排序,也可往后排序,在一次次遍历当中进行比较,同时我们可以设置一个标准进行count计数,例如:当从前往后比较时,当出现比插入数字小,或者相等时我们便直接输出当前数字的位置,得到结果。

结语

通过简单的示例问题解答可以了解到简单排序算法基本原理以及思考问题的思路。

主编:欧洋

稿件来源:深度学习与文旅应用实验室(DLETA)

(0)

相关推荐

  • 漫画:知乎面试题(旋转数组最小值Ⅱ

    今天是小浩算法"365刷题计划"第72天.继续为大家讲解二分法系列篇 - 旋转排序数组最小值Ⅱ(进阶版).话不多说,直接看题: 01 PART 旋转排序数组最小值Ⅱ 昨天为大家讲解 ...

  • Python 排序了解一下?

    来源:Python 技术「ID: pythonall」 排序是每个开发人员都需要掌握的技能.排序是对程序本身有一个全面的理解.不同的排序算法很好地展示了算法设计上如何强烈的影响程序的复杂度.运行速度和 ...

  • python lxml中etree的简单应用

    这篇文章主要介绍了python lxml中etree的简单应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧我一般都是通过xpa ...

  • python笔记17-字典按value排序

    前言 面试题:如何统计数组中出现次数最多的数据,按出现次数由大到小排序 这个排序看似简单,涉及到的基础知识点还是很多的,真正写起来并不容易 保存数据 1.首先应该提出队列里面有多少个数据,做去重处理, ...

  • Python和Java哪个更简单?四大区别!

    Python和Java都是当下比较流行的编程语言,各自在各自的领域都拥有不错的表现,当然很多人转行学习编程语言,都会十分纠结选择Python还是Java,你知道选择哪个吗?接下来我们详细对比一下. 1 ...

  • Python和GO语言哪个简单?小白必看!

    Python和GO语言都是用于编写web应用程序强大而且高级的编程语言,拥有广泛的领域以及前景,那么它们之间有什么区别吗?下面小编就带大家了解一下Python和GO语言. 什么是Python?Pyth ...

  • 浅谈一套简单排序条件的制作过程:(tem_FBYZ9207386)

    (tem_FBYZ9207386) 收藏2021-2-15 20:25 题外话:常常被大师们云里雾里的话带进圈,花费时间花费精力后才发现现实与验证的差距原来还是这般遥远,引用雪鹰小哥的一句话,任何技巧 ...

  • Python中几种常见的排序算法?

    公众号新增加了一个栏目,就是每天给大家解答一道Python常见的面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试的同学,提供一点点帮助! 小猿会从最基础的面试题开始, ...

  • 使用Python进行二进制文件读写的简单方法(推荐)

    总的感觉,python本身并没有对二进制进行支持,不过提供了一个模块来弥补,就是struct模块. python没有二进制类型,但可以存储二进制类型的数据,就是用string字符串类型来存储二进制数据 ...

  • 如何插入形状来简单修饰幻灯片?

    我们在制作幻灯片的时候需要注意幻灯片的一些美化的小技巧,可以让你的PPT不会显得呆板,今天小编就来从插入形状的方式来说一下如何通过插入形状来美化PPT吧! 1.准备简单PPT 我们先做好一个简单的PP ...

  • Py:python利用easygui实现最简单GUI带你学习区块链技术的发展和由来

    Py:python利用easygui实现最简单GUI带你学习区块链技术的发展和由来 输出结果 实现代码 # -*- coding: utf-8 -*- ''' Created on 2018年3月11 ...