码迷,mamicode.com
首页 > 编程语言 > 详细

什么是数据结构?什么是算法?

时间:2018-12-09 00:01:15      阅读:291      评论:0      收藏:0      [点我收藏+]

标签:trie   访问   回溯算法   10个   服务   散列   复杂度   高效   贪心算法   

理解
  • 数据结构是指一组数据的存储结构(它是静态的,是组织数据的一种方式)。算法就是操作数据的一组方法。如果不在存储结构的基础上操作和构建算法,孤立存在的数据结构就是没用的。
  • 数据结构和算法是相辅相成的。数据结构是为算法服务的,算法要作用在特定的数据结构之上,因此,我们无法孤立数据结构来讲算法,也无法孤立算法来讲数据结构。
    譬如:数组具有随机访问的特点,常用的二分查找算法需要用数组来存储数据。但是如果我们选择链表这种数据结构,二分查找算法就无法工作,因为链表不支持随机访问。

作用:

  • 提高效率、节省存储空间
  • 解决更省、更快地存储和处理数据的问题

重点梳理:

  • 复杂度分析(一个考量效率和资源消耗的方法)
  • 10个常用数据结构(数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie树)
  • 10个常用算法(递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规则、字符串匹配算法)

学习技巧:

  • 边学边练,建议每周花1~2小时时间,集中把一周内学习的内容,用代码实现一遍(可适度刷题)
  • 多问、多思考、多互动
  • 打怪升级学习法(设立一个切实可行的目标,每节课之后,都写一篇学习笔记或心得)
  • 知识需要沉淀(反复迭代)

什么是数据结构?什么是算法?

标签:trie   访问   回溯算法   10个   服务   散列   复杂度   高效   贪心算法   

原文地址:http://blog.51cto.com/13610346/2327793

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!