首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
cool_wa
掘友等级
go
|
google
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
1
文章 1
沸点 0
赞
1
返回
|
搜索文章
最新
热门
栈:如何实现浏览器的前进和后退
栈的应用1. 栈在表达式求值中的应用2. 栈在括号匹配中的应用3.如何实现浏览器的前进和后退?页面可以点击前进按钮浏览了。
链表和数组的对比
数组连续的内存空间,可以借助CPU缓存,随机访问数据O(1)【 数组支持随机访问,根据下标随机访问的时间复杂度为(1)】,而链表在内存中是不连续的存储的,所以对CPU缓存不友好,没办法有效预读数组的缺
数组:为什么很多编程语言中数组都从0开始编号?
数组:为什么很多编程语言中数组都从0开始编号?从数组存储的内存模型上看,"下标"最确切的定义应该是"偏移"。前面也讲到,如果用a来表示数组的首地址,a[0]就是偏移为0的位置,也就是首地址,a[k]就
跳表
对于一个单链表存储的数据是有序的,但是如果我们想在其中查找某个数据,也只能从头到尾遍历链表。 比起单纯的单链表,跳表需要存储多级索引,肯定要消耗更多的存储共建。那到底需要消耗多少额外的存储空间呢? Redis中的有序集合是通过跳表来实现的,严格来讲,其实还用到了散列表。Redi…
redis五种数据结构
字符串列表hash集合有序集合
二叉排序树(Binary Search Tree,BST)
二叉排序树又称为二叉查找树,是一种高效的数据结构。它是满足于以下性质的特殊二叉树: 它的左、右子树也都分别为二叉排序树。 对二叉排序树进行中序遍历,将得到有序的递增数列。
二分查找
实际上,mid=(low+high)/2 这种写法是有问题的。因为如果 low 和 high 比较大的话,两者之和就有可能会溢出。改进的方法是将 mid 的计算方式写成 low+(high-low)/2。更进一步,如果要将性能优化到极致的话,我们可以将这里的除以 2 操作转化成…
桶排序、计数排序、基数排序
计数排序代码:优化:
归并排序、快速排序(分治思想)
结合我前面画的那张图和归并排序的伪代码,你应该能发现,归并排序稳不稳定关键要看 merge() 函数,也就是两个有序子数组合并成一个有序数组的那部分代码。 在合并的过程中,如果 A[p…q]和 A[q+1…r]之间有值相同的元素,那我们可以像伪代码中那样,先把 A[p…q]中的…
排序算法(冒泡、插入、选择)
冒泡排序的过程只涉及相邻元素之前的交换,只需要常量级别的内存临时空间,所以它的空间复杂度为 O(1),是一个原地排序算法。 在冒泡排序中,只有交换才可以改变两个元素的前后顺序,为了保证冒泡排序算法的稳定性,当有相邻的两个元素大小相等的时候,我们不做交换,相同大小的数据在排序前后…
下一页
个人成就
文章被点赞
14
文章被阅读
9,104
掘力值
382
关注了
29
关注者
0
收藏集
0
关注标签
9
加入于
2019-09-12