结构上的算法----数组
来源:互联网 发布:如何关掉mysql服务 编辑:程序博客网 时间:2024/05/20 13:07
数组实际上是以数为索引,以某种结构为排列的一种结构,
通常要解决的问题即是查找,排序,字符串,各种数字类问题等
数组问题优先要向O(n),然后是O(logn)考虑
通用型算法有:
基于O(n)的partition算法(每5个作插入,所有中间值作传统partition算法的select中位数算法)
基于O(n)的扫描算法
基于O(logN)的二分算法
基于O(n*n)的双层扫描算法
常见的问题有:
数组中出现次数超过一半的数字
求连续子数组的最大和(及起始位置)
奇偶站队
替换空格(用多于一位的字符替换一位的字符,从后向前扫描)
循环移位
寻找最大的K个数
寻找数组中的最大和最小值(最优化算法1.5N)
快速寻找满足条件的两个数
子数组的最大积
数组中统计字符出现次数,变形问题(HASH计数)
数组中的逆序对(基于归并排序的解法)
数字在排序数组中出现的次数(二分查找的变形)
长度未知数组的查找问题(用搜索空间逐渐加倍的类二分查找)
0 0
- 结构上的算法----数组
- 结构上的算法----二维数组
- 结构上的算法----链表
- 结构上的算法----树
- 结构上的算法----位
- 结构上的算法----字符串
- 结构上的算法----图
- 结构上的算法----栈和队列
- 结构上的算法----并查集
- 图形结构上的问题----几何算法
- 算法之数组上的左右指针
- 针对数组存储结构的堆排序算法
- 结构体,指向数组指针,对数组的增删,排序,遍历算法
- 结构数组的应用
- 结构体数组的
- Dijkstra算法+二维结构体数组
- x86上包含__in64类型的结构体数组反汇编跟踪
- 【坐在马桶上看算法】算法8:巧妙的邻接表(数组实现)
- 15个编程好习惯
- 浅谈UML中的聚合与组合
- svn重设日志内容 及 如何修改SVN已提交项目的message log
- 通俗的去理解 wait()和notify()
- 关于background【有更新已解决】
- 结构上的算法----数组
- 计数排序
- java.lang.OutOfMemoryError 解决方法
- 讨论-router与switch区别
- memcpy函数
- jQuery 选择器大全(精)
- RT-Thread操作系统之—开发工具
- Objective-C Operation Queues
- IOS8 Playground介绍