如何学习数据结构与算法

article/2025/10/13 16:58:06

经过一段时间的数据结构与算法的学习,和学习了前人的经验,为了更好的指导自己(希望也能帮助到别人)之后数据结构与算法的学习,总结一下数据结构与算法学习的方法。

一、记住数据结构,记住算法思想(是什么)

我觉得这个是数据结构与算法学习最基础的部分。

学完之后,你至少得能给人说明白,什么是”堆栈“,什么是”平衡二叉树“等等等吧。我之所以说”记住“,是希望这些能够形成长久记忆,存储到你的”硬盘“里,而不仅仅在学习的时候过了一遍你的”内存“。还有一个问题,什么才叫”记住数据结构“。我觉得,第一步,数据结构最直观的东西你得记住吧(如标题背景图,来自数据结构和算法动态可视化 (Chinese))。这种直观的记忆可能在不知不觉中就完成了,但为了更好的记住,还需去刻意记忆和偶尔的复习。第二步,你得记忆该数据结构的定义与性质与特点等等等吧。例如,学习哈夫曼树的时候。哈夫曼树的定义:WPL(带权路径长度)最小的二叉树;哈夫曼树的特点:(1)没有度为1的结点(2)n个叶子结点的哈夫曼树共有2n-1个结点(3)哈夫曼树的任意非叶节点的左右子树交换后仍是哈夫曼树。关于”数据结构“,需要记忆的内容也需要自己在其中慢慢领悟。

至于”记住算法思想“,举个例子,思考我们如何构造一个”哈夫曼树“。当然,在知道它的定义后,我们可以自己去设计一个算法。如果,自己可以想出来,恭喜你。如果自己没想到,再看到先人的解决办法后,不是仅仅“惊叹”一声,更要去记住它。

我强调“记住”,并没有死记硬背的意思,而是,很多东西的理解和创新都是以记忆为前提的。

 

二、进行大量相关编程练习,用编程语言去实现某一数据结构上的算法(怎么办)

就我而言,这个过程是最难的。很多时候,理解一个算法很容易,很容易在纸上去模拟一个算法的实现过程。但,具体实现,则是另一回事。一定得先自己思考,然后再去看书中给的编程语言实现。在我看来,这一过程已经不属于“数据结构与算法”的内容了。而是你综合素质的体现,如何真正理解问题和用编程技巧实现,很考验自己。这一过程,很难靠记忆。而在不断敲代码的过程中去体会一些直觉上的东西。如何用递归解决问题,如何使用循环,如何使用"哨兵”等等等等。当然,敲完后需要去思考总结,看看能不能总结出一些”小套路“并记住。

 

三、”记住“特定情景下,利用某一特定的数据结构,去解决问题 (为什么+怎么办)

每介绍一种数据结构,浙大数据结构与算法的MOOC课程都会有一个实际问题来作为“引子”,回答了“这种数据结构为什么会出现”。有的是为了实现特定的操作,有的是为了时间和空间上(大部分考虑的是时间复杂性)效率的更高(所以,没事的时候,分析一下算法的时间复杂性)。这些东西,我们也须理解记忆。每一数据结构都有其特性,去解决某一类问题,我们需要去记忆,去感悟。

 

最后,在学习过程中,如何形成一个属于自己的知识体系(准备在“印象笔记”中单开一个“数据结构与算法”的笔记本);如何去“记住”(记好笔记,多多复习);在学习过程中,遇到挫折,产生挫败感该如何处理(这个是必然会发生的,总有难以理解不会的地方);如何进行心态方面的调整(欲速则不达,不过也有”敏捷学习“的概念)。在之后数据结构与算法的学习中,将继续完善这一篇文章。。。

 

 

个人公众号:ACM算法日常

专注于基础算法的研究工作,深入解析ACM算法题,五分钟阅读,轻松理解每一行源代码。内容涉及算法、C/C++、机器学习等。


http://chatgpt.dhexx.cn/article/P4AEMENM.shtml

相关文章

怎样学好数据结构

1、数据结构学习思路 (1)数据结构是计算机专业最重要最基础的一门课,对于有过编程经验的人,结合自己的编程体会去领悟它的思想;对于初学者,选择一种自己最熟悉的语言去分析它。而且,随着编程经…

如何自学《数据结构与算法》?

众所周知,《数据结构与算法》是程序员面试中的重中之重,也是编程中非常重要的组成部分,然而非科班出身的人,学起来有一个相当长的探索期。下面我整理了一个数据结构与算法的思维导图,供大家参考。 1.总览 2.学习方法 …

入门篇|学渣是如何自学数据结构的?

作者 | 小鹿 来源 | 一个不甘平凡的码农 写在前边 ------------------------------------------- 今日明哥推荐一篇文章,小鹿是个勤快并且认知定位非常清晰,有极强的执行能力的小伙子。作为一个大学生,这个就很流弊了。有时候不是你多牛&am…

MATLAB的.fig文件打不开——有效解决

如果没有报错的话,那么可能是显示关了。报错可能是保存方式不对。可以看下面例子。 文章目录 没报错但打不开报错 没报错但打不开 示例正弦函数图像。 x -pi:pi; y sin(x);显示功能关闭打不开。 figure(visible,off); plot(x,y) savefig(1.fig);下面打得开 f…

matlab命令打开Word文档

本博文源于Matlab骚操作系列,旨在讲述文档打开操作。首先要保证自己有Word。然后我们开始实验。 实验步骤 创建Word服务器设置Word服务器可见新建空白文档写入文档内容保存文档 实验内容 创建word服务器 >> try Word actxGetRunningServer(Word.Applicat…

MATLAB无法直接打开M文件

MATLAB无法直接打开M文件 啊这1. 下载MATLAB文件关联&快捷修复文件2. 在MATLAB添加路径3. 运行associateFiles.m4. 打开生成的注册表文件5. 重启电脑 啊这 穷折腾装了个2020试试,发现安装后没有关联M文件。 添加打开方式为MATLAB,打开M文件只能启动…

matlab无法打开excel的问题

matlab无法打开excel problem怎么解决 problem 重装系统时直接移植了matlab和office两个大套件,之前用matlab调用读取电子表格一直没有什么问题,今天在统计手机上网流量的时候想用matlab对表格里的单位处理一下,好家伙这玩意给我报错把我搞懵…

Matlab突然打不开,运行后一闪就消失了,任务管理器也没有的解决办法

记录一下平时遇到的一些bug Matlab官方issue 参考官网链接有3种可能导致标题现象 一种一种试一下,包括删掉Appdata文件夹的Matlab r2020a文件夹(对我的计算机无效) 最后我的计算机试到第三种就可以了 在桌面启动程序属性里目标路径后加 -nodesktop 再双击运行就…

MATLAB安装后出现问题:MTALAB2021安装后闪退打不开

我之前安装的是2017版本,因需要用到一些最新功能,卸载后安装了2021版本。但按要求安装后无法打开,双击后闪一下,打不开。从网上了解到可能是Windows系统预设文件的损坏(具体我也不清楚,但按步骤可以实现软件…

打开matlab闪退的原因

1.请确定是闪退打不开,还是启动缓慢? 这两天打算掌握一项新技能——Matlab,于是京东买了一本书《MATLAB 2020 从入门到精通实战案例版》 于是下载安装了,matlab 2020b,文件是真的大。下载加安装花了一个小时左右,实际…

电脑上安装的matlab软件打不开怎么办,电脑软件打不开没反应怎么办?

我们在使用电脑的过程中,经常会碰到电脑软件打不开没反应的情况,而检查软件并未发现任何错误问题,这时该怎么办呢?其实解决方法并不难,下面小编给大家分享电脑软件打不开的应对技巧。 XP系统方法/步骤: 1、…

解决MATLAB帮助文档打不开的情况

解决MATLAB帮助文档打不开的情况 问题描述 今天在MATLAB命令行窗口中输入【doc find】,出现了帮助文档打不开的情况。如图1所示。 图1 帮助文档打不开 解决办法 在MATLAB的【主页】中点击【预设】。如图2所示。 图2 点击【预设】 打开之后,如图3所示。…

matlab 18保存的mat数据,MATLAB7打不开

有时候在我们用MATLAB18或者更高版本保存mat数据,可能出现MATLAB7无法打开的现象,根据其他博主的意思可能是因为路径有中文之类的,还有一种情况,是MATLAB18保存的mat数据版本不同,可以更改默认的保存版本,然…

matlab安装后不能打开怎么办,matlab7.0安装后打不开_matlab7.0安装后不能用

一、MATLAB出现errorstartingdesktop错误 1、首先在桌面上鼠标右键点击MATLAB7.0快捷方式!如下图所示 2、进入快捷方式属性界面,点击兼容性选项卡,如下图所示 3、勾选如下图的复选项!如下图所示 4、选择windows2000这个选择&#…

MATLAB打不开,选择licenses激活成功后还是要激活

2017国庆前还用matlab写了程序,现在想看看当时的程序,哪知道几个月不用,MATLAB打不开了,提示要激活。 图1.激活页面 因为之前都能用,那肯定是有许可证文件的,所以我选择了不适用Internet手动激活&#xff…

linux 平台下 MATLAB 打不开图形界面

遇到一个问题,在linux系统上打开MATLAB时界面(直接输入>>matlab)出现到一半就崩溃了。 提示: ** This crash report has been saved to disk as /home/hipeson/matlab_crash_dump.218342-1 ** MATLAB is exiting because…

win10系统matlab不能卸载不了,win10系统matlab打不开无法运行的方案

现如今,几乎家家户户都有一台电脑,当我们操作win10系统的过程中常常会碰到win10系统matlab打不开无法运行的问题,有什么好的办法去解决win10系统matlab打不开无法运行的问题该怎么处理?虽然解决方法很简单,但是大部分用…

matlab打不开怎么办,matlab打不开_matlab打不开怎么办 matleb打不开的修复方法

摘要 腾兴网为您分享:matlab打不开怎么办 matleb打不开的修复方法,桌面时钟,英语字典,学宝,小米钱包等软件知识,以及金山词霸离线版,渲染巨匠,家具大师,妙懂初中地理,大华…

matlab突然打不开,点击运行没有任何反应

可能是 Windows系统预设文件(preferences)被损坏,需要清除并重设a) 进入Application Data文件夹。由于此文件夹是一个隐藏文件夹,可以直接在Windows屏幕左下角的搜索栏里输入“%AppData%”进入当前账户的Application Data文件夹&a…

打开matlab只在任务栏闪一下然后就没反应了解决办法(亲试有效)

解决方法&#xff1a; 出现这种情况可能是 Windows系统预设文件&#xff08;preferences&#xff09;被损坏&#xff0c;需要清除并重设。 对于matlab就需要删除C:\Users<username>\AppData\Roaming\MathWorks\MATLAB这个目录下的R2019a文件然后重新启动matlab就会又重…