数据结构算法复习
来源:互联网 发布:对外经贸知乎 编辑:程序博客网 时间:2024/05/29 19:56
啊黄的:
1.数据结构:是指同一数据元素类中各数据元素之间存在的关系。
2.复杂度越低效率越高
3.大小排序:O(logN)<O(N)<O(NlogN)<O(N^2)<O(2^N)
4.搜索:线性搜索:O(N) (只需一层循环)
二叉搜索:O(logN)(每个元素不一定都要访问一次,有顺序)
排序:冒泡、选择、插入:O(N^2)(会用到两层的循环)
快速(二分排序):O(N*logN) (每一个元素还是要至少访问一次,比较的是无顺序的数据)
笔记:
1.*& 返回成功指针(list的核心:node*& getNodePtr() ):
4向传递:1.本身地址,2.堆空间,3.本身空间,4,指向的地址
如果不加上&,那么得到的仅仅是个临时指针变量了,就仅仅能改“堆空间”了,不能改本身罗。嘻嘻。
2.顺序存储,链式存储,索引存储,散列存储;
3.常用算法:曾删查改排序遍历统计索引
4.找地址:我们经常要找改对象的前一个对象的next成员的值,即可。
把单链表掌握好,其他数据结构都是可以衍变出来滴。
等会把list,stack,queue,tree等这些数据结构总结一下,即可。
5.tree. 只关系一个三角层面,然后递归即可。
*到底返回的本身,还是成员指针呢*?
如果一开始,从根节点找到了,那么就返回根节点本身,如果是之后滴东东,那么就返回那个地址对象的前一个对象的next成员即可。
算法:
1.算法复杂度:1.时间复杂度 2.空间复杂度(空间越来越不值钱咯)
2.时间复杂度:1.平均运行时间 2.最佳和最差运行情况
3.bigO 表示法(大O):复杂度越低,效率就越高。
4.搜索: 线性:O(N) 二叉:O(logN)
排序: 冒泡,选择,插入:O(N^2) 快速:O(N*logN)
5.算法:暴力法,递归,分治法,贪心法,优化法,模拟法
老师说:学编程最好的方法就是看例子,看了就敲。(估计是瞎说的)
6.快速排序法:
1.抽一个随机元素,置换到最后位置当做比较数,遍历比较的时候不要遍历到它来进行比较。
2.定义一个兔子下标p-1;每当一个元素与比较书比较时,让兔子++i 加1,然后交换本元素与龟下标元素数据。
3.最后把比较值回归到龟下标+1位置,与原数据进行交换。
- 复习 - 算法与数据结构
- 数据结构算法复习
- 数据结构与算法复习
- 复习数据结构和算法
- 数据结构 算法 复习
- 复习数据结构----二分查找算法
- 《数据结构》复习之排序算法
- 数据结构与算法复习笔记
- 数据结构期末复习:排序算法
- 数据结构复习之【数据结构和算法概念】
- 数据结构之【数据结构和算法概念】--复习
- K&R复习,数据结构(C语言版)复习,算法导论复习
- 数据结构与算法复习笔记--排序算法
- 面试复习-------算法与数据结构------算法设计
- 复习数据结构和算法03-List
- 数据结构与算法基础 复习 java
- 一步一步复习数据结构和算法基础(1)
- 一步一步复习数据结构和算法基础-二叉排序树
- veclocity宏的问题探索
- Linux/Ubuntu sudoers 文件妙用
- Android游戏开发之小球重力感应实现
- 2440 5.0BSP触摸屏驱动学习&&WinCE中触摸屏驱动开发详解
- 写网络视频监视器中的总结 (一)
- 数据结构算法复习
- bean:write输出HTML效果的问题以及struts其他标签的问题
- 正则表达式学习网址
- MyEclipse 中 使用 TortoiseSVN(2)
- github和git的使用技巧和例子
- tf卡知识
- 树和二叉树的一些操作的C/C++源码
- 兼容ie6设置selected
- Unix的轻巧“约取而实得”(上篇)