IT宅
A brief history of the future of AI in education
网络
网络协议
网络编程
存储
Redis
MySQL
架构
重构速查表
架构模式
分布式
Dubbo
消息队列
精进之路
网络
MySQL
Redis
MQ
JVM
所有专栏
专栏推荐
查看更多
架构解码:模式与实践
软件架构与模式
JVM速成手册
JVM相关内容
网络协议
详解网络分层和网络协议工作原理
并发编程
并发编程原理和应用
数据结构与算法
数据结构与算法知识详解
重构速查表
重构的相关技能
MySQL
洞悉MySQL底层架构与SQL调优本质
Redis
洞悉Redis技术内幕:缓存,数据结构,并发,集群与算法
数据结构与算法
10
Fenwick Tree数据结构
假设我们有一个数组A,需要计算数组中[i, j) 区间的数据之和,为了方便获取,我们提前把算好的前面n个元素之和存到另一个数组B的n+1中,如下:
FenwickTree
作者:帅旋
|
发表于 2020-04-28
|
分类于
数据结构与算法
后缀数组数据结构
后缀数组是后缀树的一种节省空间的替代方法,后缀树本身是trie的压缩版本。
SuffixArray
作者:帅旋
|
发表于 2020-04-28
|
分类于
数据结构与算法
数据结构笔记 – 栈与队列 递归的使用
我们把一个直接调用自己或通过一系列的调用语句间接的调用自己的函数称作递归函数。程序调用自身的编程技巧称为递归( recursion)。
数据结构
Java
斐波那契
栈
递归
作者:arthinking
|
发表于 2011-10-21
|
分类于
数据结构与算法
数据结构笔记 - 排序算法 堆排序算法
其基本思想是将待排序的数组构造成一个大顶堆,从而获得数组最大的元素,即当前的根节点。将其移走之后,再把剩余的n-1个数组元素重新构造成一个大顶堆。反复执行,最后得到一个有序序列。
数据结构
算法
排序
堆排序
作者:arthinking
|
发表于 2011-09-23
|
分类于
数据结构与算法
数据结构笔记 - 排序算法 希尔排序算法
将相距一个增量单位的元素集组成一个子集,然后通过以子集为单位对数据进行比较,最后得到子集间的数据是有序的,但是子集内德数据还未排序。这样继续缩小增量循环比较进行互换位置处理,直到增量变为1时为最后一次循环比较。
数据结构
算法
排序
希尔排序
作者:arthinking
|
发表于 2011-09-21
|
分类于
数据结构与算法
数据结构笔记 - 排序算法 直接插入排序算法
将一个元素通过和当前已经排序好的数组的最大元素进行比较,并在待插入数组较小的情况下通过设置哨兵,整体移动,插入正确位置的步骤,从此得到一个新的排序好的数组的过程。
数据结构
算法
排序
插入排序
作者:arthinking
|
发表于 2011-09-20
|
分类于
数据结构与算法
数据结构笔记 - 排序算法 简单选择排序算法
假设待排序数组长度为n,通过n-1此循环进行数组元素间的比较,每一轮中,假设该轮为第i轮,从n-i+1个元素中选出最小的,并和第i个元素进行交换。
数据结构
算法
排序
选择排序
作者:arthinking
|
发表于 2011-09-20
|
分类于
数据结构与算法
数据结构笔记 - 排序算法 优化冒泡排序算法
一般的冒泡排序算法一般会进行L->length – 1次外部循环,但是有时候数组在循环到一半时就已经排序好了,但是这时循环还是不断的进行下去,一直做比较操作,尽管没有交换数据,但是做了很多不必要的比较操作。
数据结构
算法
冒泡排序
作者:arthinking
|
发表于 2011-09-20
|
分类于
数据结构与算法
数据结构笔记 - 排序算法 冒泡排序算法实现
较小的数字如同气泡慢慢浮到上面,每一趟排序除了确定了一个最小值之外,还把其他的元素的位置也按照大小顺序做了一定的替换,这样在接下来的排序中就会减少交换的次数,显然该算法比初级的排序算法有改进。
数据结构
算法
排序
冒泡排序
作者:arthinking
|
发表于 2011-09-20
|
分类于
数据结构与算法
数据结构笔记 - 排序算法 最简单的排序实现 初级版的冒泡排序
这里介绍的是最简单的排序算法:初级版的冒泡排序算法,属于交换排序算法。
数据结构
算法
排序
冒泡排序
交换排序
作者:arthinking
|
发表于 2011-09-19
|
分类于
数据结构与算法
1
…
5
6
7
8
×
IT宅
关注公众号及时获取网站内容更新。
请帅旋喝一杯咖啡
咖啡=电量,给帅旋充杯咖啡,他会满电写代码!