算法与数据结构概论
文章目录
- 1、什么是算法与数据结构?
- 2、如何学好算法与数据结构?
1、什么是算法与数据结构?
算法(Algorithm)
In mathematics and computer science, an algorithm is an unambiguous specification of how to solve a class of problems . Algorithms can perform calculation, data processing and automated reasoning tasks.
对特定问题求解步骤的一种描述,是旨在解决特定问题的有限指令序列。(5个特性:输入、输出、确定性、可行性、有穷性)
数据结构
在计算机科学中,数据结构是计算机中存储、组织数据的方式。
程序 = 数据结构 + 算法
数据结构是算法的基石
算法围绕数据结构进行操作
常见数据结构
线性结构 | 树结构 | 图结构 |
---|---|---|
数组 | 二叉树 | 邻接矩阵 |
链表 | 二叉搜索树 | 邻接表 |
栈 | 堆 | 。。。 |
队列 | 平衡二叉树(AVL、红黑树等) | |
哈希表 | 并查集 | |
。。。 | 字典树(Trie) |
2、如何学好算法与数据结构?
- 多思考 仔细琢磨,弄清原理
- 多练习 自己手动实现各种数据结构
- 多“刷题” 循序渐进 不要想一口吃成胖子
相关书籍 - 《大话数据结构》
- 《啊哈!算法》
- 《数据结构和算法分析-Java语言描述》
- 《算法导论》
- 《算法(第4版)》
- 《编程珠玑》
- 《编程之美》
- 《计算机程序设计艺术》高纳德 …….
刷题系统 – Leetcode (Online Judge) - 难易适中,常见面试问题
还没有评论,来说两句吧...