Python数据结构与算法绪论

2021年3月25日 10点热度 0条评论 来源: Guanyu Liu

目录

算法与生活联系

研究算法和数据结构的意义

算法与生活联系

  • 驾驶汽车
    • 驾驶员不清楚汽车内部的物理机制,只知道实现驾驶(功能)的逻辑,这称为接口 Interface
    • 汽车修理工清楚汽车内部的物理机制,这称为实现Implementation
  • 总结(两对相对概念)
    • 逻辑与接口(抽象)
    • 机制与实现(具体)

研究算法和数据结构的意义

  • 解决问题的整体感
    • 控制问题复杂度,利用抽象保持“整体感”
    • 不陷入过多的细节
  • 与算法相联系的数据保持一致性
  • 数据抽象:ADT(Abstract Data Type)
    • 对数据处理的逻辑描述,不涉及实现
    • 由过程抽象启发而来
    • 封装控制算法的复杂度
    • 实现逻辑和物理层次的分离

  • 类比
    • 电动车和汽油车
      • 动力、能源不同(物理,具体:动力、能源、机械装置)
      • 接口基本相同(逻辑,抽象:方向盘、油门、刹车等)
      • 接口不变,但是实现的物理技术有变化
      • 底层程序员专注于优化数据处理(具体实现,底层内容,变化),调用用户只需要关注接口的问题解决(接口,上层架构,基本不变)
  • 总结
    • 学习算法的意义
      • 类似的问题,抽象底层逻辑和结构进行解决
      • 选择问题的合适解决方案,对比问题解决方案
      • 写出高质量的代码,能够设计基础架构,提升编程技能,训练逻辑思维
      • 提升优化性能,增强可扩展性,保证数据存取效率,节省内存

 

 

 

 

    原文作者:Guanyu Liu
    原文地址: https://blog.csdn.net/yiweixiaomiandui/article/details/115206685
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。