美文网首页
算法图解 (二)

算法图解 (二)

作者: EruDev | 来源:发表于2018-05-24 07:48 被阅读0次

第二章 选择排序

本节内容数组、链表和选择排序

链表

  • 链表中的元素可以存储在内存的任何地方
  • 链表的每个元素都存储了下一个元素的地址

数组

  • 数组与链表不同,你知道其中每个元素的地址
  • 数组的读取效率很高

常见数组和链表操作的运行时间


1.png

选择排序

选择排序是一种简单直观的排序算法。它的工作原理如下,首先在未排序序列中找到最小 (大) 元素,存放到排序序列的起始位置,然后,再从剩余未排序元素继续寻找最小 (大) 元素,然后放到已排序序列的末尾。以次类推,直到所有元素均排序完毕

例子

# coding: utf-8

# 选择排序
def find_smallest(arr):
    small_index = 0
    small = arr[0]
    for i in range(1, len(arr)):
        if arr[i] < small:
            small_index = i
            small = arr[i]
    return small_index


if __name__ == '__main__':
    li = [42, 43, 64, 7, 5]
    print(find_smallest(li))

小结

  • 数组的元素都连在一起,读取速度很快。同一个数组中,所有元素类型必须相同
  • 链表的元素是分开的,其中每个元素都存储了下一个元素的地址,插入和删除速度很快

相关文章

  • 二叉搜索树

    二叉搜索树 图解二叉树搜索算法图解:二叉搜索树算法二叉查找树(Binary Search Tree),(又:二叉搜...

  • 算法图解 (二)

    第二章 选择排序 本节内容数组、链表和选择排序 链表 链表中的元素可以存储在内存的任何地方 链表的每个元素都存储了...

  • 算法图解学习(二)

    选择排序: 具体思路:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继...

  • 《算法图解》note 11 总结

    这是《算法图解》的第十一篇读书笔记,是一篇总结。经过1个月的时间,终于把《算法图解》看完了。个人认为,《算法图解》...

  • 算法图解一(二分查找)

    今天主要跟大家分享二分查找算法。 有兴趣的朋友的可以去阅读《算法图解》这本书。 首先说下什么是算法。 算法定义: ...

  • python 算法开发笔记

    前言 最近看完《算法图解》对python的算法有点了解,特记录下来 算法概括 二分查找的速度比简单查找快得多 算法...

  • 神经网络CNN的简单实现

    (一)神经网络图解和算法的推导(二)神经网络代码的实现

  • 《算法图解》之二分查找与快速排序

    说明:以下内容均参考:[美]Aditya Bhargava所著的《算法图解》 第一种使用的算法:二分查找。 二分查...

  • 算法图解读书笔记

    date: 2017-9-16 11:11:15title: 算法图解读书笔记 算法图解: http://www....

  • 算法图解 读书笔记

    date: 2017-9-16 11:11:15title: 算法图解读书笔记 算法图解: http://www....

网友评论

      本文标题:算法图解 (二)

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