数据结构和算法 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、排序算法 冒泡排序 选择排序 插入排序 快速排序 希尔排序 计数排序 2、列表查找 从列表中查找指定的元素 顺序查找 从列表第一个元素开始,顺序进行搜索,直到找到为止 二分查找 从有序列表的候选区data[0: n]开始,通过对待查找的值与候选区中的值比较使候选区的值减半 数据结构与算法动 ...
分类:
编程语言 时间:
2020-04-07 09:58:34
阅读次数:
98
1.排序的分类 1) 内部排序:指将需要处理的所有数据都加载到内部存储器中进行排序 2) 外部排序:无法全部加载到内存中,需要借助外部存储进行 3)图示: 2.算法的时间复杂度 1) 度量一个程序(算法)执行时间的两种方法 A.事后统计的方法 问题:a.需要实际运行该程序。b.时间也依赖于计算机的硬 ...
分类:
编程语言 时间:
2020-03-21 16:41:05
阅读次数:
66
前言 随着行业的发展,编程能力逐渐成为软件测试从业人员的一项基本能力。因此在笔试和面试中常常会有一定量的编码题,主要考察以下几点。 基本编码能力及思维逻辑 基本数据结构(顺序表、链表、队列、栈、二叉树) 基本算法(排序、查找、递归)及时间复杂度 除基本算法之外,笔试面试中经常会考察以下三种思想: 哈 ...
分类:
编程语言 时间:
2020-03-12 12:54:51
阅读次数:
194
十大经典算法排序总结对比 一张图概括: 主流排序算法概览 名词解释: n: 数据规模k:“桶”的个数In-place: 占用常数内存,不占用额外内存Out-place: 占用额外内存稳定性:排序后2个相等键值的顺序和排序之前它们的顺序相同 冒泡排序(Bubble Sort) 冒泡排序须知: 作为最简 ...
分类:
编程语言 时间:
2020-02-28 13:57:47
阅读次数:
52
Java实现的5大排序算法排序算法很多地方都会用到,近期又重新看了一遍算法,并自己简单地实现了一遍,特此记录下来,为以后复习留点材料。 废话不多说,下面逐一看看经典的排序算法: 1、Java排序算法之选择排序 选择排序的基本思想是遍历数组的过程中,以i代表当前需要排序的序号,则需要在剩余的[i…n-1]中找出其中的最小值,然后将找到的最小值与i指向的值进行交换。因为每一趟确定元素的过程中都会
分类:
编程语言 时间:
2020-02-26 15:34:25
阅读次数:
69
################## 归并排序 ####################### """ 归并算法逻辑 拆分 对整个序列进行拆分,左边一部分,右边一部分 然后对每一部分再次进行拆分,一直到拆分到只有一个元素,就到头了, 第1次拆分:54, 26, 93, 17, 77, 31, 44, ...
分类:
编程语言 时间:
2020-02-23 09:59:37
阅读次数:
87
################## 希尔排序 ######################## """ 希尔排序 希尔排序就是插入排序的一种改进版本, 算法的步骤 把一个序列不视为一个整体,而是视为多个子序列, 假设间隔是gap=4 alist = [54,26,93,17,77,31,44,55 ...
分类:
编程语言 时间:
2020-02-23 09:48:16
阅读次数:
80
################## 快速排序 ####################### """ 快速排序使用分治法(Divide and conquer)策略来把一个序列(list)分为较小和较大的2个子序列,然后递归地排序两个子序列。 步骤为: 1,挑选基准值:从数列中挑出一个元素,称为" ...
分类:
编程语言 时间:
2020-02-23 09:42:18
阅读次数:
73