一、数据结构和算法浅析随记

数据结构

-是计算机存储、组织数据的方式。是算法的基础。

算法

-是特定问题求解步骤的描述,计算机指令的集合

区别

数据结构只是静态的描述了数据元素之间的关系,高效的程序需要在数据结构的基础上设计和选择算法 。
-算法是为了解决实际问题而设计的
-数据结构是算法需要处理问题的问题载体。
-程序核心=数据结构+算法

算法分类

1.分治法:有明确的执行方式。----常用算法,高频
-拆分目标,执行小目标,合并
2.最短路径法:有明确的目的,找寻有效的执行方式。----多用于游戏
3.贪婪(贪心)算法:没有明确的目标,没有明确的执行方式。分析当前环境,找寻目标,有效执行方式。----多用于人工智能,机器学习之类

算法五大特性

1.输入:0或多个输入。
2.输出:至少有一个或者多个输出。
3.有穷性:算法在执行有限步骤后,自动结束而不会无限循环,且每一步在可接收时间内完成。
4.确定性:算法的每一步骤都有明确含义,不会出现二义性。
5.可行性:算法的每一步都必须是可行的。即,每一步都能通过执行有限次数完成。

数据结构分类

逻辑结构

1.几何结构:元素和元素之间没有关联关系。如:mao、不定参、枚举。。。
2.线性结构:元素和元素之间1:1,。如,数组,切片,链表
3.树形结构:元素和元素是一对多的关系。如:二叉树,多叉树
4.图形结构:元素和元素是多对多的关系。

物理结构(存储结构)

1.线性存储:数据元素存放在连续的内存单元中。查询效率高。插入、删除效率低。
2.链式存储:数据元素散乱地存放在内存单元中,可通过指针找到顺序。插入、删除效率高,查询效率低。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容