Practice Algorithm ing...
练习数据结构和算法
数据结构和算法 (hello-algo)
-
算法(algorithm) 是在有限时间内解决特定问题的一组指令或操作步骤. 具有以下特性
- 输入(Input): 有零个或多个外部提供的输入量。
- 输出(Output): 至少有一个明确的输出结果。
- 确定性(Definiteness): 算法的每一步骤必须定义得明确、无歧义。
- 有限性(Finiteness): 算法必须在执行有限步骤后终止。
- 可行性(Effectiveness): 算法的每一步都必须是可行的,即可以被计算机通过执行基础操作完成。
-
数据结构(data structure) 是组织和存储数据的方式,涵盖数据内容、数据之间关系和数据操作方法,它具有以下设计目标 ()
- 空间占用尽量少,以节省计算机内存。
- 数据操作尽可能快速,涵盖数据访问、添加、删除、更新等。
- 提供简洁的数据表示和逻辑信息,以便算法高效运行。
-
数据结构与算法的关系
- 数据结构是算法的基石。数据结构为算法提供了结构化存储的数据,以及操作数据的方法。
- 算法为数据结构注入生命力。数据结构本身仅存储数据信息,结合算法才能解决特定问题。
- 算法通常可以基于不同的数据结构实现,但执行效率可能相差很大,选择合适的数据结构是关键。
资源
- hello-algo: https://www.hello-algo.com/chapter_hello_algo/