海口记闻

前段时间,因为工作原因,在海南海口呆了三个多星期,第一次踏入海南岛,所以想将在海南的所见所闻记录下来。

从广州飞往海南,由于搭的是晚班机,到海南已是深夜,即使是深夜,还是能感受到海岛的热带气息。搭乘的士前往酒店,看着夜色中道路两旁的椰子树,憧憬着接下来的海南生活。

第二天早上八点,走出酒店,万里无云,大大的太阳高挂在天空,阳光刺得张不开眼睛,暴露在阳光下的皮肤火辣辣的感觉,紫外线强度是真的高,难怪跟家人朋友说起去海南,第一反应就是黑了没。阳光虽然刺眼,但每天的温度都在 25~33 之间,加上微风,只要不是直接暴露在太阳下,也不是很热,比广州真的凉爽多了。都说去海南旅游,从海口的环境和空气质量就知道,确实适合旅游,放松身心。

阅读全文

数据结构与算法(十五)——桶、计数、基数排序

桶排序、计数排序、基数排序都是线性排序,都是非基于比较的排序算法,都不涉及元素之间的比较操作。

阅读全文

数据结构与算法(十四)——快排、归并排序

快排、归并排序都使用到了分治思想。
分治,顾名思义,就是分而治之,将一个大问题分解成小的子问题 来解决。小的子问题解决了,大问题也就解决了。
分治思想跟递归思想很像,一般用递归来实现的。
分治是一种解决问题的处理思想,递归是一种编程技巧。

阅读全文

数据结构与算法(十三)——冒泡、插入、选择排序

冒泡、插入、选择排序的时间复杂度相同,都是 O(n^2),这三种排序的具体逻辑是怎样的呢?在实际的软件开发里,为什么我们更倾向于使用插入排序算法而不是冒泡排序算法呢?

阅读全文

数据结构与算法(十二)——排序算法

排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。排序算法,就是如何使得记录按照要求排列的方法。通过这篇博客,我们可以知道常用的排序算法有哪些?如何分析一个排序算法?

阅读全文

数据结构与算法(十一)——图(Graph)

图是什么?有那些分类?如何存储和遍历图?

阅读全文

数据结构与算法(十)——堆(Heap)

堆是什么?如何实现堆呢?堆化是什么?

阅读全文

数据结构与算法(九)——红黑树(Red Black Tree)

红黑树是什么?为什么工程中都喜欢用红黑树,而不是其他平衡二叉查找树呢?

阅读全文

数据结构与算法(八)——二叉树(Binary Tree)

二叉树是什么?二叉树有哪几种存储方式?二叉树的查询、插入、删除又是怎么实现的?

阅读全文

数据结构与算法(六)——跳表

跳表(Skip list):是一个随机化的数据结构,实质就是一种可以进行二分查找的有序链表。跳表在原有的有序链表上面增加了多级索引,通过索引来实现快速查找。跳表不仅能提高搜索性能,同时也可以提高插入和删除操作的性能。Redis 中的有序集合(Sorted Set)就是用跳表来实现的。

阅读全文