美文网首页利用Python进行数据分析
排序/二分搜索和已排序列表的维护

排序/二分搜索和已排序列表的维护

作者: 庵下桃花仙 | 来源:发表于2018-12-12 22:25 被阅读4次
In [1]: a = [7, 2, 5, 1, 3]

In [2]: a.sort()

In [3]: a
Out[3]: [1, 2, 3, 5, 7]

sort也有一些选项

In [4]: b = ['saw', 'small', 'He', 'foxes', 'six']

In [5]: b.sort(key = len)

In [6]: b
Out[6]: ['He', 'saw', 'six', 'small', 'foxes']

bisect模块实现了二分搜索和已排序列表的插值。bisect.bisect找到应当被插入的位置bisect.insort将原始插到相应位置。

In [7]: import bisect

In [8]: c = [1, 2, 2, 2, 3, 4, 7]

In [9]: bisect.bisect(c, 2)
Out[9]: 4

In [10]: bisect.bisect(c, 5)
Out[10]: 6

In [11]: bisect.insort(c, 6)

In [12]: c
Out[12]: [1, 2, 2, 2, 3, 4, 6, 7]

相关文章

  • 排序/二分搜索和已排序列表的维护

    sort也有一些选项 bisect模块实现了二分搜索和已排序列表的插值。bisect.bisect找到应当被插入的...

  • 算法与数据结构大系列 - NO.1 - 插入排序

    概述 这是一种就地比较排序算法。这里,维护一个始终排序的子列表。例如,维护数组的下半部分以进行排序。要在此已排序的...

  • Python数据结构 第五章--排序和搜索

    本章目标: (1)了解和实现顺序搜索和二分法搜索。 (2)了解和实现选择排序、冒泡排序、归并排序、快速排序、插入排...

  • 常用的快速排序和二分搜索Java实现

    二分搜索 常用的两个东西,排序和查找,现在就是来主要说说查找中的一种二分搜索和排序中的一种快速排序 一、何为二分搜...

  • 算法汇总

    关于算法: 基础技巧:分治、二分、贪心排序算法:快速排序、归并排序、计数排序搜索算法:回溯、递归、深度优先遍历,广...

  • Java实现常见的算法

    主要罗列了常见的选择排序,冒泡排序和快速排序,还有二分查找的算法。 选择排序 冒泡排序 快速排序 二分查找 注意二...

  • 算法与数据结构简介

    0x01 算法 基础技巧:分治、二分、贪心 排序算法:快速排序、归并排序、计数排序 搜索算法:回溯、递归、深度优先...

  • Swift语言实现几个简单算法

    栈队列二分查找插入排序归并排序快速排序 栈 队列 二分查找 二分查找是用于快速查找到目标数据(已排序)的一种查找方...

  • day17_选择排序_数组的搜索算法

    选择排序 规律: 数组的搜索算法之二分搜索法

  • 排序算法(二):选择排序

    选择排序算法维护一个待排序集合和一个已排序集合,每轮迭代,从待排序集合中选择一个最小(最大)元素,添加到已排序集合...

网友评论

    本文标题:排序/二分搜索和已排序列表的维护

    本文链接:https://www.haomeiwen.com/subject/hrdmhqtx.html