思想:一个待排数组从第一个元素开始,每个元素都与自己后一个元素进行比较( s[i]>s[i+1] //从小到大排序 ),大于后一个元素时两元素进行互换,以此类推,第一趟排序后整个数组中最大的元素已排在最末位。重复以上步骤。 初始数组: 0 1 2 3 4 5 6 7 8 9 9 4 6 1 3 2 ...
分类:
编程语言 时间:
2020-04-11 09:22:36
阅读次数:
56
前言 冒泡,插入,选择这三种基础的排序算法,比较简单效率不高,工作中一般不会使用,但是当做算法来研究还是能了解一些知识的,本文以为基础,详细解析一下. 正文 首先要引入几个概念 稳定性 如果待排序数组中有相同的元素,排序过后它们的相对顺序不发生变化. 比如 排序过后为 这两个3的相对顺序不变.这样就 ...
分类:
编程语言 时间:
2020-04-10 00:12:18
阅读次数:
64
算法思想: 通过与相邻元素的比较和交换来把小的数交换到最前面。这个过程类似于水泡向上升一样,因此而得名。 冒泡排序的时间复杂度为O(n^2) 举例: 4 2 3 1 5 第一趟冒泡 第一轮:2 4 3 1 5 第二轮:2 4 1 3 5 第三轮:2 1 4 3 5 第四轮:1 2 4 3 5 得到最 ...
分类:
编程语言 时间:
2020-04-09 10:28:16
阅读次数:
62
数据结构和算法 CMDB项目 ( ) 数据分析 数据结构和算法 ( ) 数据结构和算法地位: 操作系统 计算机组成原理 网络系统 软件工程 数据结构和算法 (考研必考) 数据结构和算法是计算结科学领域非常核心的一门课程。 程序 = 数据结构 + 算法 学习时长 算法 排序算法 冒泡排序 ( ) 选择 ...
分类:
编程语言 时间:
2020-04-09 00:53:12
阅读次数:
102
1. 排序 1.1 冒泡排序 1.2 选择排序 1.3 插入排序 1.4 希尔排序 1.5 快速排序 1.6 归并排序 2. 搜索 1. 排序 排序算法(英语:Sorting algorithm)是一种能将一串数据依照特定顺序进行排列的一种算法。 排序算法的稳定性 稳定性:稳定排序算法会让原本有相等 ...
分类:
编程语言 时间:
2020-04-09 00:41:32
阅读次数:
85
顺序查找 1 def linear_search(li,val): 2 for i,k in enumerate(li): 3 if k == val: 4 return i 5 6 else: # for循环完毕后一定会执行else 7 return None View Code 二分法查找 1 ...
分类:
编程语言 时间:
2020-04-08 18:50:40
阅读次数:
67
算法 1、排序算法 冒泡排序 选择排序 插入排序 快速排序 希尔排序 计数排序 2、列表查找 从列表中查找指定的元素 顺序查找 从列表第一个元素开始,顺序进行搜索,直到找到为止 二分查找 从有序列表的候选区data[0: n]开始,通过对待查找的值与候选区中的值比较使候选区的值减半 数据结构与算法动 ...
分类:
编程语言 时间:
2020-04-07 09:58:34
阅读次数:
98
交换排序 基本思想: 是两两比较待排序对象的排序码,如发生逆序(即排列顺序与排序后的次序正好相反),则交换之,直到所有对象都排好序为止。 主要算法: 冒泡排序:BubbleSort 快速排序:QuickSort 冒泡排序 基本思想 设待排序元素序列中的元素个数为 n。最多作 n 1 趟,i = 1, ...
分类:
编程语言 时间:
2020-04-04 20:33:11
阅读次数:
72
1.算法基础之冒泡排序,选择排序,插入排序,快排序 ...
分类:
编程语言 时间:
2020-04-03 01:02:41
阅读次数:
279