《算法(第四版)》笔记(1)
来源:互联网 发布:vivo手机数据恢复软件 编辑:程序博客网 时间:2024/06/07 01:06
一、基础
1.背包,队列,栈
背包:一种不支持删除元素的集合数据类型,迭代的顺序不确定
先进先出队列:一种基于先进先出策略的集合类型
下压栈:一种基于后进先出策略的集合类型
2.集合数据类型的体现
定容栈、泛型、迭代
3.链表
链表是一种递归的数据结构,它或者为空(null),或者是指向一个结点(node)的引用,该结点含有一个泛型的元素和一个指向另一条链表的引用。链表表示的是一列元素。
链表(首尾)增删快:将原结点的引用指向新结点,删除结点,只需将引用指向自身,故链表的增删速度与其长度无关。
实现任意插入和删除应该使用双向链表。
链表的遍历:初始化索引变量,通过.next访问到引用为null为止。
for(Node x=first; x!=null ; x=x.next)
4.算法分析
描述 增长的数量级 典型代码 说明 举例
常数级别 1 a=b+c 普通语句 相加
对数级别 logN 二分查找 二分策略 二分查找
线性级别 N for()if 循环 找出最大元素
线性对数级别 NlogN 分治 归并排序
平方级别 N^2 for for if 双层循环 检查所有元素对
立方级别 N^3 三层循环 检查所有三元组
指数级别 2^N 穷举查找 检查所有子集
- 《算法(第四版)》笔记(1)
- 算法(第四版)第一章笔记
- 算法第四版Algorethms 4th学习笔记(1)
- 算法(第四版)学习笔记1--第一章--union-find算法
- 算法第四版Algorethms 4th学习笔记(2)
- 算法第四版学习笔记
- 算法第四版学习笔记
- 算法(第四版)下载
- 《C++ Primer 第四版》笔记(1)
- 切分算法(摘自算法第四版)
- C程序设计 第四版(谭浩强)-学习笔记-第四天
- C++primer(第四版)复习笔记—第二篇:容器和算法
- 算法(第四版)笔记<一>-------动态队列的数组实现(Java语言)
- 算法 第四版 习题 答案 笔记 1.1
- 《算法(第四版)》排序-----模板
- 《算法(第四版)》排序-----选择排序
- 《算法(第四版)》排序-----插入排序
- 《算法(第四版)》排序-----希尔排序
- PAT甲级.1125. Chain the Ropes (25)
- Leetcode 24. Swap Nodes in Pairs
- java文件读取的研究
- win10 64位JLink v8固件丢失修复总结
- 按正则表达式拷贝文件
- 《算法(第四版)》笔记(1)
- Codeforces Round #402 (Div. 2) B. Weird Rounding
- 个人笔记:常用 Image 下载地址
- POJ3683 Priest John's Busiest Day(神父约翰的忙日)题解(2-SAT及布尔方程运用)
- 坚持#第143天~努力发展自己的天赋
- linux下配置jdk环境
- 欢迎使用CSDN-markdown编辑器
- Python笔记---setuptools 、feedparser、pydelicious
- 选课时间