摘要: 我是陈星星,欢迎阅读我亲自写的 数据结构和算法(Golang实现),文章首发于 阅读更友好的GitBook。 字典 我们翻阅书籍时,很多时候都要查找目录,然后定位到我们要的页数,比如我们查找某个英文单词时,会从英语字典里查看单词表目录,然后定位到词的那一页。 计算机中,也有这种需求。 一、字典 字典 阅读全文
posted @ 2020-04-18 12:22 陈星星哦 阅读(880) 评论(0) 推荐(0) 编辑
摘要: 我是陈星星,欢迎阅读我亲自写的 数据结构和算法(Golang实现),文章首发于 阅读更友好的GitBook。 冒泡排序 冒泡排序是大多数人学的第一种排序算法,在面试中,也是问的最多的一种,有时候还要求手写排序代码,因为比较简单。 冒泡排序属于交换类的排序算法。 一、算法介绍 现在有一堆乱序的数,比如 阅读全文
posted @ 2020-04-18 12:18 陈星星哦 阅读(798) 评论(0) 推荐(0) 编辑
摘要: 我是陈星星,欢迎阅读我亲自写的 数据结构和算法(Golang实现),文章首发于 阅读更友好的GitBook。 归并排序 归并排序是一种分治策略的排序算法。它是一种比较特殊的排序算法,通过递归地先使每个子序列有序,再将两个有序的序列进行合并成一个有序的序列。 归并排序首先由著名的现代计算机之父John 阅读全文
posted @ 2020-04-18 12:16 陈星星哦 阅读(1034) 评论(0) 推荐(0) 编辑
摘要: 我是陈星星,欢迎阅读我亲自写的 数据结构和算法(Golang实现),文章首发于 阅读更友好的GitBook。 哈希表:散列查找 一、线性查找 我们要通过一个键key来查找相应的值value。有一种最简单的方式,就是将键值对存放在链表里,然后遍历链表来查找是否存在key,存在则更新键对应的值,不存在则 阅读全文
posted @ 2020-04-18 12:13 陈星星哦 阅读(1355) 评论(0) 推荐(0) 编辑
摘要: 我是陈星星,欢迎阅读我亲自写的 数据结构和算法(Golang实现),文章首发于 阅读更友好的GitBook。 某些教程不区分普通红黑树和左倾红黑树的区别,直接将左倾红黑树拿来教学,并且称其为红黑树,因为左倾红黑树与普通的红黑树相比,实现起来较为简单,容易教学。在这里,我们区分开左倾红黑树和普通红黑树 阅读全文
posted @ 2020-04-18 12:12 陈星星哦 阅读(493) 评论(0) 推荐(0) 编辑
摘要: 我是陈星星,欢迎阅读我亲自写的 数据结构和算法(Golang实现),文章首发于 阅读更友好的GitBook。 列表 一、列表 List 我们又经常听到列表 List数据结构,其实这只是更宏观的统称,表示存放数据的队列。 列表List:存放数据,数据按顺序排列,可以依次入队和出队,有序号关系,可以取出 阅读全文
posted @ 2020-04-18 12:11 陈星星哦 阅读(685) 评论(1) 推荐(0) 编辑
摘要: 我是陈星星,欢迎阅读我亲自写的 数据结构和算法(Golang实现),文章首发于 阅读更友好的GitBook。 链表 讲数据结构就离不开讲链表。因为数据结构是用来组织数据的,如何将一个数据关联到另外一个数据呢?链表可以将数据和数据之间关联起来,从一个数据指向另外一个数据。 一、链表 定义: 链表由一个 阅读全文
posted @ 2020-04-18 12:10 陈星星哦 阅读(1237) 评论(0) 推荐(0) 编辑
摘要: 我是陈星星,欢迎阅读我亲自写的 数据结构和算法(Golang实现),文章首发于 阅读更友好的GitBook。 算法复杂度主方法 有时候,我们要评估一个算法的复杂度,但是算法被分散为几个递归的子问题,这样评估起来很难,有一个数学公式可以很快地评估出来。 一、复杂度主方法 主方法,也可以叫主定理。对于那 阅读全文
posted @ 2020-04-18 12:09 陈星星哦 阅读(771) 评论(0) 推荐(0) 编辑
摘要: 我是陈星星,欢迎阅读我亲自写的 数据结构和算法(Golang实现),文章首发于 阅读更友好的GitBook。 算法复杂度及渐进符号 一、算法复杂度 首先每个程序运行过程中,都要占用一定的计算机资源,比如内存,磁盘等,这些是空间,计算过程中需要判断,循环执行某些逻辑,周而反复,这些是时间。 那么一个算 阅读全文
posted @ 2020-04-18 12:07 陈星星哦 阅读(790) 评论(0) 推荐(0) 编辑
摘要: 我是陈星星,欢迎阅读我亲自写的 数据结构和算法(Golang实现),文章首发于 阅读更友好的GitBook。 使用标准库 一、避免重复造轮子 官方提供了很多库给我们用,是封装好的轮子,比如包fmt,我们多次使用它来打印数据。 我们可以查看到其里面的实现: package fmt func Print 阅读全文
posted @ 2020-04-18 12:05 陈星星哦 阅读(1159) 评论(0) 推荐(0) 编辑