如何学习数据结构和算法

article/2025/9/10 3:29:30

首先掌握常用的、基础的。然后在此基础上往进行扩展学习。

常用的、基础的数据结构和算法有20个。

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

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

这些需要一一攻克。

 

多思考,多想。往往需要灵魂三问,是什么?有什么用?怎么用?用来解决哪些实际问题?

当然了,你也可以思考一下为啥要学习这门课程?

 

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

广义:数据结构就是一组存储结构。算法就是操作数据的一组方法

狭义:数据结构和算法,是指某些特殊的数据结构和算法,比如:队列、栈、堆、二分查找、动态规划等。这些都是前人的智慧结晶,我们可以直接拿来用的。这些经典的数据结构和算法,都是前人从很多实际操作场景中抽象出来的,经过非常多的求证和检验,可以高效的帮助我们解决很多实际的开发问题

 

这个问题非常经典,还是第一次看到这个问题。

数据结构和算法有什么关系,为什么大部分书籍都把这两个东西放到一块来讲呢?

数据结构和算法是相辅相成的,数据结构是为算法服务的,算法需要作用在特定的数据结构上。因此,无法孤立数据结构来讲算法,也无法孤立算法来讲数据结构

例如:数组具有随机访问的特点,常用的二分查找算法需要数组来存储数据。如果选择链表这种数据结构,二分查找法就无法工作了,因为链表并不支持算计访问

 

学习数据常用的、基础的数据结构只用有高中数学水平即可。

 

学习的重点在什么地方?

数据结构和算法,很多人都很头疼,我也一样,里面的东西太多了,又不知道从何处下手学习,往往事倍公半。首先需要梳理一下有哪些知识点,应该先学什么,后学什么,在对照你属于哪一个阶段,针对性的进行学习

 

想要学好数据结构和算法,首先要掌握一个数据结构与算法中最重要的一个概念 -- 复杂度分析。

这个概念有多重要呢?可以这么说,它几乎占了数据结构和算法的半壁江山,是数据结构和算法的精髓。

 

数据结构和算法解决的是如何更省、更快地存储和处理数据的问题,因此,我们就需要一个考量效率和资源消耗的方法,这就是复杂度分析方法。所以你只有掌握了数据结构和算法的特点,用法,但是没有学会复杂度分析方法,那就相当于只知道操作口诀,而没有掌握心法。只有心法了然于心,才能无招胜有招。

 

数据结构和算法涵盖的知识点:

数据结构和算法知识点

 

 

在学习的过程当中,不要死记硬背,不要为了学习而学习,而是要学习它的“来历”、“自身的特点”、“适合解决哪些问题”以及“实际应用场景”。

 

一些学习技巧:

1、边学边练,适度刷题

可以适度刷题,但不要花费太多时间,学习的目的还是掌握,然后应用

2、多问、多思考、多互动

3、打怪升级法

设立一个切实可行的目标,不断的点亮你的技能点。不可能一口吃个胖子

4、知识需要沉淀,不要试图一下子掌握所有

学习是一个反复迭代的过程,不断沉积的过程

 

摘自:数据结构与算法之美  -- 王争


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

相关文章

Java的数据结构和算法

今天我们来简单介绍一下Java的数据结构和算法。 一、数据结构 1、数据结构的分类 2、数据结构的基本功能 二、算法 1、算法是什么 2、算法的特点 一、1、数据结构是计算机组织、存储数据的方式。简单来说就是,数据按指定的规则进行存储,从而得到一个有固定存储格式的数据集…

数据结构与算法——绪论

前言:数据结构与算法是计算机科学与工程的基础,它们的相互关系和作用是程序的本质。凭借一句话获得图灵奖的Pascal之父Nicklaus Wirth把它们表示为 算法数据结构程序 目录: 1、算法与数据结构的重要性①相关定义②为什么要学习算法③数据结构…

【建议收藏】数据结构和算法面试题

数据结构 数据结构分为两大类,线性结构和非线性结构。 线性结构:数组、队列、链表、栈非线性结构:多维数组、树结构、图结构 1.数组 数组是最常用的数据结构,用于存储相同类型的数据,数组的长度也是固定的。 数组…

数据结构和算法:什么是数据结构,什么是算法

文章目录 前言数据结构和算法1.数据结构1.1数据结构的类型2.算法2.1推导大O阶方法常数阶O(1)和线性阶O(n)为什么算法1时间复杂度为O(n)而不是O(1)呢?对数阶O( logn):平方阶O( n2): 前言 这几天复习数据结构,在看《大话数据结构》&…

python数据结构和算法

前面系统地学习了python相关的基础知识,接下来,我们将继续学习python的数据结构和算法。 我们知道,程序数据结构算法,那么,什么是数据结构,有什么是算法呢?如何系统的学习数据结构和算法呢&am…

【数据结构和算法】入门初识篇

目录 一、前言 二、数据结构的理解 物理结构和逻辑结构 1.逻辑结构 2. 物理结构 一、前言 我们前面我学了Java的内部类,现在来学习一下数据结构和算法,多科齐下不仅可以 学科交插学习互相帮助,还可以锻炼跳跃性思维。 二、数据结构的…

什么是数据结构和算法

从远古的汇编语言到现代编程语言,计算机编程已经变得更加强大、高效和先进。然而,计算机编程中的数据结构和算法的核心概念和使用并没有改变。从一开始,DSA就一直是计算机编程的核心。 备注: 下文统一使用DSA表示数据结构和算法。 你可能听说…

数据结构与算法——算法

😊数据结构与算法——算法 🚀什么是算法?🚢算法的特征(特性) 🚀算法的设计(要点)🚀算法效率的度量🚢事后统计法🚢事前分析估算法&…

数据结构与算法

数据结构与算法 1.数据结构的概念 数据结构指的是一组数据的存储结构。 2.算法的概念 算法是指操作数据的一组方法 3.二者的关系 数据结构是为算法服务的,而算法要作用在特定的数据结构上。 4.最常用的数据结构预算法 数据结构:数组、链表、栈、队列、散…

数据结构与算法学习笔记

本文是王争老师的《算法与数据结构之美》的学习笔记,详细内容请看王争的专栏 。有不懂的地方指出来,我做修改。 数据结构与算法思维导图 数据结构指的是“一组数据的存储结构”,算法指的是“操作数据的一组方法”。 数据结构是为算法服务的&a…

数据结构与算法(总结)

总结: 一、数据结构(Data Structure) 是数据的组织结构,用来组织、存储数据。算法(Algorithm) 就是解决问题的方法或者过程。 二、数据结构分为逻辑结构和物理结构。逻辑结构分为集合结构、线性结构、树形结…

Minio 分布式集群部署

文章目录 一、分布式存储可靠性常用方法1. 概述2. 冗余3. 校验 二、分布式Minio优势2.1. 数据保护2.2. 高可用2.3.一致性 三、运行分布式Minio3.1. 启动方案简述3.2. 案例说明3.3. 制作分布式启动脚本3.4. 制作伪分布式启动脚本3.5. 登录minio 四、分布式Minio负载均衡4.1. ngi…

【集群分布式问题】分布式集群时钟同步问题及解决方案

文章目录 一、 时钟不同步导致的问题二、集群时钟同步配置1. 分布式集群中各个服务器节点都可以连接互联⽹2. 分布式集群中一个节点或每个节点都不能访问互联网 一、 时钟不同步导致的问题 时钟此处指服务器时间,如果集群中各个服务器时钟不⼀致势必导致⼀系列问题&…

hadoop-spark完全分布式集群搭建

hadoop-spark完全分布式集群搭建 一、解压spark文件二、修改spark-env.sh文件四、分发给各节点五、主节点配置环境六、启动 本次采用的系统为centos7 hadoop版本为2.7.7 spark版本为2.1.1 链接:https://pan.baidu.com/s/1j4M21s6rURvl2uvZC_wxtQ 提取码:…

minio分布式集群部署

minio分布式集群部署 分布式 Minio 可以让你将多块硬盘或者多台服务器组成一个对象存储服务。由于硬盘分布在不同的节点上,分布式 Minio 避免了单点故障。MinioMinio分布式模式可以帮助你搭建一个高可用的对象存储服务,你可以使用这些存储设备&#xff…

Ubuntu20.04下搭建Hadoop伪分布式集群

Ubuntu虚拟机的安装 VW ware安装Ubuntu虚拟机及环境配置 关闭防火墙 为了减少搭建集群的复杂性,关闭防火墙如果对防火墙很了解可以可以不用关闭开放相应端口即可。借助ufw软件包使操作更方便。 # 安装防火墙工具 sudo apt-get install ufw# 开启 sudo ufw enabl…

Hadoop伪分布式集群的搭建

一、准备虚拟机 1.从网上将VMware下载下来 https://www.vmware.com/content/dam/digitalmarketing/vmware/en/images/gallery/banners/content/hero-generic-1400x350.jpg 2.下载centos https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/isos/x86_64/ 二、配置网络&…

Hadoop完全分布式集群环境搭建

一、实验环境 主机操作系统:Windows7 以上(64 位)虚拟机软件:Oracle VM VirtualBox客户机操作系统:CentOS-6.8(64 位)JDK:1.8(Linux 版)SSH 连接客户端&…

基于ubuntu的hadoop完全分布式集群搭建

借鉴网址1 借鉴网址2 hadoop官方配置教程 搭建虚拟机,克隆(或者先配置JAVA和Hadoop环境再克隆,之后要改主机名和映射以及SSH免密) 可以利用xsync集群分发脚本一台机器配置其他机器分发 修改主机名和ip映射 检查 配置ssh免密登录…

Linux 部署Hadoop伪分布式集群教程

首先:我们需要下载一些关于Hadoop伪分布式集群需要的工具与tar包 链接: https://pan.baidu.com/s/1oUw1jDCxfghWsnaWauSHKg 提取码:6s5a 接下来打开虚拟机终端,先创建一个文件夹用来解压Hadoop的tar包 接着使用xshell远程连接到…