算法和数据结构简介
硬计算类算法:
- 精确求解
- 大厂算法和数据结构笔试、面试题、acm比赛或者和acm形式类似的比赛,考虑的都是硬计算类算法
- 但是某些问题使用硬计算类的算法,可能会让计算的复杂度较高
软计算类算法:
- 更注重逼近解决问题,而不是精确求解,计算时间控。当一个计算量很大时你不可能去算出结果,这个是后就算出当前的最优解。
- 比如:模糊逻辑、神经网络、进化计算、概率理论、支持向量机、群体智能
注意:
硬计算类算法
是所有程序员岗位都会考,任何写代码的工作都会用到的。- 但是算法工程师除了掌握
硬计算类的算法
之外,还需要掌握软计算类的算法
。 - 这个两个名词都不是计算机科学或者算法中的标准术语
连续结构:
- 连续结构可以理解为:
在内存空间中逻辑上是连续的一整块空间的结构
,但实际上可能会有分页等情况 - 数组为什么
通过下标查询(寻址)
的时间差不多,就是因为是连续结构,数组每个格子都是固定长度的,只有根据磁头算出偏移量
,就能根据对应的偏移量
就能快速寻址了 int
类型,32位比特连续靠着一起组成的空间,long
类型,64位比特连续靠着一起组成的空间,任何简单类型都是连续结构
跳转结构:
- 内存中一个小空间由
数值和下一个小空间的内存地址
组成,这些小空间随机的分布在内存中不同区域,通过指针相互关联,形成跳转结构,链表就是跳转结构。
注意:
- 任何数据结构都一定是这两个结构拼出来的!没有例外!
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » 算法学习笔记——算法和数据结构简介
发表评论 取消回复