术 | 入门数据结构与算法

本文探讨了数据结构与算法的重要性,强调它们在实际工作中的应用和效率提升。介绍了数据结构(如数组、链表、二叉树等)和算法(如排序、二分查找、动态规划等)的概念,以及它们之间的相互依存关系。同时,提出了学习这两者的方向,包括理解其特点、应用场景及复杂度分析。

主题使用方法:https://github.com/xitu/juejin-markdown-themes

theme: juejin

highlight: github

一、引言

大学学习的第二个重要的课程就是《数据结构与算法》,当时学下来云里雾里饶,也不知道有什么作用,只是把重要的概念记下来应付考试。工作以后发现除了面试考官经常问起来,更重要的时候工作上很多时候都能用上,用上合适的数据存储结构、作用于特定数据结构上算法后,在空间复杂度和时间复杂度上都有明显的效率提升。为了回顾数据结构与算法并加上印象,特开展专题记录。

二、介绍

1.何为数据结构与算法
  • 广义上,也就是从课本上说,数据结构就是一组存储数据的结构,而算法能就是操作数据的一组方法。
  • 狭义上,其实是针对著名的数据结构与算法。著名的意思即前人的智慧结晶,我们时常听到的堆,栈,二分查找,快速排序等都是著名的数据结构与算法。站在巨人的肩膀上,我们能有更卓越的成就。
2.数据结构与算法的关系

总的来说两者是相辅相成的,缺一不可。

数据结构是为算法服务的,算法要作用在特定的数据结构之上。 因此,我们无法孤立数据结构来讲算法,也无法孤立算法来讲数据结构。

数据结构是静态的,它只是组织数据的一种方式。如果不在它的基础上操作、构建算法,孤立存在的数据结构就是没用的。

3.学习两者的方向
3.1. 掌握常用的数据结构和算法的特点(口诀)

重点是学习他们的: “ 来历 ” 、 “ 特点 ” 、 “ 适合解决什么问题 ” 和 “实际的应用场景 ” 。

数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、 Trie 树

算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法

3.2. 能进行复杂度分析(心法)

效率和资源消耗的度量衡即复杂度分析是数据结构和算法学习的精髓

数据结构和算法解决的是如何更省、更快地存储和处理数据的问题,因此,我们就需要一个考量效率和资源消耗的方法,这就是复杂度分析方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值