- 博客(4)
- 收藏
- 关注
原创 排序/二分查找
排序冒泡排序、插入排序、选择排序这三种排序算法,它们的时间复杂度都是 O(n2),比较高,适合小规模数据的排序。今天,我讲两种时间复杂度为 O(nlogn) 的排序算法,归并排序和快速排序。这两种排序算法适合大规模的数据排序归并排序和快速排序都用到了分治思想,非常巧妙。我们可以借鉴这个思想,来解决非排序的问题,比如:如何在 O(n) 的时间复杂度内查找一个无序数组中的第 K 大元素?分治...
2019-05-17 21:33:21 400
原创 链表
链表1 理论链表就像一个节点链,其中每个节点包含着数据和指向后续节点的指针。 链表还包含一个头指针,它指向链表的第一个元素,但当列表为空时,它指向null或无具体内容。链表是物理存储单元上非连续的、非顺序的存储结构,数据元素的逻辑顺序是通过链表的指针地址实现,每个元素包含两个结点,一个是存储元素的数据域 (内存空间),另一个是指向下一个结点地址的指针域。根据指针的指向,链表能形成不同的结...
2019-05-11 22:55:23 430
原创 数组
数组1 理论存储方式:存储单元是一维的结构,数组是多维的结构二维数组有两种存储方式: 以列序为主序(column major order),以行序为主序(row major order)以0开始的索引:每个数据元素都关联一个正数值,我们称之为索引,它表明数组中每个元素所在的位置。大部分语言将初始索引定义为零。数组特点:占用一段连续的内存空间假设有个数组[0, 1, 2]...
2019-05-11 22:54:00 858
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人