数据结构与算法系列1--简介

为什么要学习数据结构和算法?

1.直接好处是能够有写出性能更优的代码
2.算法,是一种解决问题的思路和方法,有机会应用到生活和事业的其他方面。
3.长期来看,大脑思考能力是个人最重要的核心竞争力,而算法是为数不多的能够有效训练大脑思考能力的途径之一。

什么是数据结构?什么是算法?数据结构与算法的关系?

数据结构就是指一组数据的存储结构。
算法就是操作数据的一组方法。
关系:数据结构是为算法服务的,算法要作用在特定的数据结构之上。因此,我们无法孤立数据结构来讲算法,也无法孤立算法来讲数据结构。

比如,因为数组具有随机访问的特点,常用的二分查找算法需要用数组来存储数据。但如果我们选择链表这种数据结构,二分查找算法就就无法工作了,因为链表并不支持随机访问。
数据结构是静态的,它只是组织数据的一种方式。如果不在它的基础上操作、构建算法,孤立存在的数据结构就是没用的。&oq=数据结构是静态的,它只是组织数据的一种方式。如果不在它的基础上操作、构建算法,孤立存在的数据结构就是没用的。

学习的重点在什么地方?

  1. 首先要掌握一个数据结构与算法中最重要的概念——复杂度分析
    数据结构和算法解决的是如何更省、更快地存储和处理数据的问题,因此,我们就需要一个考量效率和资源消耗的方法,这就是复杂度分析方法。
    2.掌握10种经典数据结构和10种算法:
    10个数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie+树;
    10个算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法。

有效学习方法:

1.多总结练习,适度刷题
2.思考,讨论,多问,评论
3.针对每个具体的算法和数据结构须理解:来历,自身特点,适用方式,实际应用场景
最后是一张学习图谱:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_34493908/article/details/82989996
今日推荐