码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 数据结构与算法介绍与学习路线


    活动地址:CSDN21天学习挑战赛

    目录

      • 一、什么是数据结构与算法
        • 1. 数据结构
        • 2. 算法
        • 3. 数据结构与算法
      • 二、常见数据结构与算法
      • 三、学习方法(仅供参考)
        • 1. 大致了解
        • 2. 视频和书
        • 3. 练习
        • 4. 输出
      • 四、学习资源(有更好的资源欢迎评论区补充)
        • 1. 书
        • 2. 在线教程
        • 3.视频
        • 4. 可视化
        • 5. 刷题

    一、什么是数据结构与算法

    程序 = 数据结构 + 算法,足以看出他们的重要性,但感觉平时编程没有刻意用到他们,其实这只是感觉,代码的字里行间无不在使用。

    一个常见的心理路程就是:

    1. 开始学习时,感觉他们没什么用,平时敲代码也用不到,没有在代码里刻意设计过
    2. 学习一段时间,发现以前写代码都在悄悄的用到,然后开始刻意按照规则设计代码
    3. 时间久了,又感觉没有用到了,其实是在下意识的用了,只是用的时候没有刻意贴上“数据结构与算法”的标签

    就像《论语》中说的,三十而立,四十不惑,,,直到随心所欲不逾矩。

    1. 数据结构

    在这里插入图片描述

    逻辑结构:数据元素之间的逻辑关系。

    存储结构:一组数据的存储结构。(数据在内存中是以何种方式存储的)

    2. 算法

    操作数据的一组方法。

    算法的设计取决于逻辑结构,算法的实现依赖于存储结构。

    3. 数据结构与算法

    数据结构是为算法服务的,算法要作用在特定的数据结构之上。无法孤立数据结构来讲算法,也无法孤立算法来讲数据结构。数据结构是静态的,它只是组织数据的一种方式。如果不在它的基础上操作、构建算法,孤立存在的数据结构就是没用的。

    二、常见数据结构与算法

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

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

    要学习它的“来历”、“原理”、“自身的特点”、“适合解决的问题”以及“实际的应用场景”。

    三、学习方法(仅供参考)

    1. 大致了解

    在正式学习之前,建议大致了解一下 “数据结构与算法” 的知识框架,包括哪些内容,著名应用等。

    可以自己画一下思维导图,让知识框架在心里有个初步印象(所以说第一印象还是蛮重要的,哈哈)。

    2. 视频和书

    不推荐一开始就看书,可以去B站找一下视频,然后跟着视频学习,最好理解一个知识点后自己写代码验证练习一下。

    书只作为辅助,有不懂的知识点看书帮助理解。

    3. 练习

    实践是检验真理的唯一标准,能不能写出能跑能用的稳定代码是检验你会不会的最好方法。

    GitHub或Gitee建个仓库,把自己的实践代码传上去,最好是个有价值的项目。

    4. 输出

    自己会做只是会了而已,不代表完全理解了,能讲出来并且讲明白,通俗易懂,才是真正吃透了知识。

    而且在输出的同时,还会发现自己的不足或新的理解。

    所以建议学的差不多了,写个教程,写的过程中对自己的知识结构查缺补漏。

    四、学习资源(有更好的资源欢迎评论区补充)

    1. 书

    不推荐某一本书,建议几本书对比看,虽然知识点一样,但不同书的讲解方法不一样,每个人对不同方法的理解程度不一样,对比起来更容易理解。

    比较经典的:

    1. 数据结构(C++语言版·第3版)邓俊辉 、数据结构习题解析(第3版)
    2. 数据结构与算法分析
    3. 数据结构(C语言版)严蔚敏/吴伟民

    比较通俗易懂的:

    1. 我的第一本算法书
    2. 算法图解
    3. 漫画算法:小灰的算法之旅
    4. 漫画算法2:小灰的算法进阶

    2. 在线教程

    1. C语言中文网-数据结构
    2. C语言网-数据结构教程

    3.视频

    1. 中国大学MOOC-浙江大学-数据结构
    2. B站-小甲鱼-数据结构和算法
    3. B站-青岛大学-王卓

    4. 可视化

    部分算法的过程可视化,辅助理解

    1. VisuAlgo
    2. Data Structure Visualizations
    3. binarytrees , 该项目源码 -> github
    4. b-tree
    5. algorithm-visualizer
    6. bigocheatsheet
    7. Algorithms-DataStructures-BigONotation

    5. 刷题

    1. 牛客网
    2. 七月在线
    3. LeetCode

    ​

  • 相关阅读:
    WebRTC实战-第一章-理论基础
    机器人制作开源方案 | 晾衣收纳一体机器人
    Java后端开发面试题——JVM虚拟机篇
    Chaos Vantage最低配置要求,需要什么显卡
    Kotlin 协程 Select:看我如何多路复用
    前端入门到入土?
    【零基础学Python】Day5 Python基本数据类型之List
    ImageViewer技术实现细节
    如何编写定时关机脚本以保护服务器安全
    java计算机毕业设计高校排课管理系统MyBatis+系统+LW文档+源码+调试部署
  • 原文地址:https://blog.csdn.net/maizousidemao/article/details/126213053
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号