- 博客(6)
- 资源 (17)
- 收藏
- 关注
原创 算法一——排序
分析排序算法的角度算法的执行效率算法的执行效率一般从时间复杂度以及比较、交换次数来考虑。时间复杂度时间复杂度需要考虑最好情况、最坏情况、平均情况时间复杂度。同时我们需要考虑复杂度的洗漱、常数和低阶。这是因为时间复杂度反应的是数据闺蜜n很大时候的一个增长趋势,所以会忽略系数、常数、低阶。但是实际软件开发中,n可能是10、100、1000。这个时候就不能忽略系数、常数、低阶。比较、交换次数...
2019-05-22 22:44:04 266
原创 数据结构二——链表
底层存储数组:一块连续的内存空间。链表:用指针串起来的一组零散的内存空间。链表分类:单链表、双向链表、循环链表内存块是连接的节点。每个节点存储数据和指向下一个节点的指针。第一个节点叫做头结点,最后一个节点叫做尾节点。尾节点的next=null。操作特点1 插入、删除很快,O(1)。2 想要随机访问只能从头节点开始遍历,数到第k个节点。平均时间复杂度O(n)。想象队列就是一个排队的...
2019-05-16 23:00:40 246
原创 数据结构一—— 数组
如何实现随机访问数组是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。线性表线性表的数据最多只有前和后两个方向。数组、栈、队列、链表都是线性表。非线性表:树、图、堆。连续的内存空间a[i]_address=base_address+i∗data_type_sizea[i]\_address=base\_address+i*data\_type\_sizea[i...
2019-05-16 07:34:21 291
原创 复杂度分析
事后统计法测试结果依赖环境;2 与测试的数据集大小有关大O复杂度表示法所有代码的执行时间T(n)与每行代码的执行次数n成正比. $T(n)=O(f(n))$时间复杂度分析1 只关注循环次数最多的一段代码。2 加法法则:总复杂度等级两级最大的那代码的复杂度。3 乘法法则:嵌套代码的复杂度=嵌套内外代码复杂度的乘积。几种常见的复杂度1 O(1)O(1)表示是常量级别,并...
2019-05-08 00:00:13 125
原创 开始《数据机构与算法之美》之旅
还在学算法,就像还在学英语一样悲催。想想自己为什么要学算法。学,是为了用。学了,能理解Java API提供的接口和数据结构的实现方式;学了,能在自己的工具箱里面多一种工具,在工作中用到的时候可以拿出来用。学,是为了能站在前人的肩膀上,看得更远。 那为什么学了很多遍呢?学了,没有温习造成的。学和教是同一个过程。我给自己立个Flag:1 从今天开始直到学习完极客时间的《数据机构与算法之美》这段时间...
2019-05-01 11:08:41 225
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人