美文网首页模友一家亲算法编程我爱编程
读书笔记:《算法图解》第二章 选择排序

读书笔记:《算法图解》第二章 选择排序

作者: 孙亖 | 来源:发表于2018-01-11 13:59 被阅读12次
  • 数组:所谓数组,是无序的元素序列。数组中的所有元素都具有相同类型(这一点和结构或类中的字段不同,它们可以是不同类型)。数组中的元素存储在一个连续性的内存块中,并通过索引来访问(这一点也和结构和类中的字段不同,它们通过名称来访问)。

  • 链表:链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,操作复杂。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)的时间,而线性表和顺序表相应的时间复杂度分别是O(logn)和O(1)。链表有很多种不同的类型:单向链表,双向链表以及循环链表。

链表擅长插入删除,数组擅长随机访问。

选择排序:#

选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法(比如序列[5, 5, 3]第一次就将第一个[5]与[3]交换,导致第一个5挪动到第二个5后面)。

原文地址

相关文章

  • 2018-05-10

    算法图解 p28 选择排序

  • 数据结构

    Q:堆排序 A:1 堆排序算法(图解详细流程)2 堆排序 Q:排序算法时间复杂度与稳定性 选择排序为什么不稳定:举...

  • 算法图解-选择排序

    1. 链表- 链表中的元素可存储在内存的任何地方。而数组的元素都在一起- 链表的每个元素都存储了下一个元素的地址,...

  • iOS实现冒泡排序、快速排序、选择排序、希尔排序、插入排序等算法

    1、冒泡排序 图解: 2、选择排序 图解: 3、快速排序 图解: 4、插入排序 图解: 5、希尔排序 图解: 6、...

  • N^2排序算法总结.md

    选择排序 算法的图解 算法的基本实现 根据上面的gif图可以得到,实现选择排序需要两个步骤 找到第i个元素后的最小...

  • 《算法图解》NOTE 2 数组、链表及选择排序

    这是《算法图解》的第二篇读书笔记,内容主要涉及数组、链表及选择排序。 1.数组 1.1定义 作为一种基础的数据结构...

  • Schedule

    WeekComputer Science算法图解剑指offer神经网络1Data Manipulation选择排序...

  • 读书笔记:《算法图解》第二章 选择排序

    数组:所谓数组,是无序的元素序列。数组中的所有元素都具有相同类型(这一点和结构或类中的字段不同,它们可以是不同类型...

  • 《算法图解》NOTE 4 快速排序法

    这是《算法图解》的第四篇读书笔记,主要涉及快速排序法。 1.递归与分治法 快速排序法(quick sort)之所以...

  • 算法-选择排序

    算 法:选择排序算法时间复杂度: 选择排序算法概述 选择排序伪代码 选择排序实现 选择排序算法概述 排序算法有许...

网友评论

    本文标题:读书笔记:《算法图解》第二章 选择排序

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