![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 54
坚硬果壳_
坦然接受自己的平庸并保持努力。
展开
-
《数据结构与算法图解》学习笔记(六)
第六章 乐观的调优 前言:之前章节考虑一个算法的效率时,都是着眼于它在最坏情况下需要走多少步。但是本章说明,最坏情况不是唯一值得考虑的情况。 插入排序原创 2020-06-11 16:50:23 · 124 阅读 · 0 评论 -
《数据结构与算法图解》学习笔记(五)
第五章 用或不用大O来优化代码 前言:即使两种算法的大O记法完全一样,也有快慢之分。 一 选择排序 python实现 def selectionSort(array) : for i in range(0,len(array)): LowstNumberIndex=i for j in range(i+1,len(array)): if(array[j]<array[LowstNumberIndex]):原创 2020-06-11 16:07:39 · 109 阅读 · 0 评论 -
《数据结构与算法图解》学习笔记(四)
第四章 运用大O给代码提速 冒泡排序 排序算法是计算机科学中广泛研究的一个课题,着眼于如何将一个无序的数字数组整理成升序。 冒泡排序是一种很基本的排序算法,步骤如下: 冒泡排序的一个特点是:每一次轮回过后,最大的值会被冒到正确的位置上。 冒泡排序的python实现 def bubble_sort(list): unsort_until_index=len(list)-1 #该索引之前的数据都没排过序,此时赋值为数组的最后一个索引 sorted=False原创 2020-06-08 17:28:42 · 151 阅读 · 0 评论 -
《数据结构与算法图解》学习笔记(三)
第三章 大O记法 从前两章的内容我们可以总结出,量化线性查找效率最准确的方式应该是:对于具有N个元素的数组,线性查找最多需要N步。 但这样听起来不免有些啰嗦。为了方便的表达数据结构和算法的时间复杂度,计算机科学家从数学界借鉴了一种简洁又通用的方式,即大O记法。 关于大O的数学理论可以参考《算法导论》。 大O:数步数 大O不关注算法所用的时间,只关注其所用的步数。 对于第一章介绍的数组来说,无论含有多少个元素,读取都只需要一步,用大O记法表示,即O(1)。更深一步理解,O(1)是指,一种算法无原创 2020-06-08 16:56:27 · 205 阅读 · 0 评论 -
《数据结构与算法图解》学习笔记(一)
第一章 数据结构为何重要 1 编程其实是在跟数据打交道。 2 数据是一个广义的术语,可以指带各种类型的信息,包括最基本的数字和字符串。 3 数据结构:数据的组织形式。他还极大地影响着代码的运行速度。 一 两种数据结构 基础数据结构——数组 1 数组是计算机科学中最基本的数据结构之一,他是一个含有数据的列表,并且使用索引标识每项数据在数组中的位置,在大多数编程语言中,索引从0算起。 操作的速度,并不按时间计算,而是按步数,因此衡量步数是分析速度的关键。 操作的速度也叫做时间复杂度...原创 2020-06-07 21:57:54 · 441 阅读 · 0 评论