码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 算法分析至栈与队列


    本部分内容零零散散地学习有超过半年之久,期间最多的就是阅读《大话数据结构》本书基本上通读了一遍,也录过本书的音频,但这些过程都是马马虎虎的,可能自己的学习就是需要一遍又一遍地才能学会吧。

    算法复杂度的概念是我在反复翻阅三次后才理解到,而栈与队列是学的最快的知识点,对于循环和链式结构来说,它们都在我脑袋里有了一个很好的理解概念,具体在代码是线上脑海里的抽象画面就有些艰涩了,或许也是时间段问题。

    基本概念

    • [!] 逻辑结构
      • 没关系 ——> 集合
      • 一对一 ——> 线性结构
      • 一对多 ——> 树形结构
      • 多对多 ——> 图形结构

    算法部分

    • [!] 算法的特性
      • 有穷性
      • 可行性
      • 确定性
      • 输入输出
    • [!] 算法设计要求
      • 正确性
      • 可读性
      • 健壮性
      • 时间效率高,存储量低

    线性表部分

    线性表部分是后续所有数据结构学习中的重中之重,一定要理解并能够自己写出代码!

    普通线性表的使用非常规矩,一系列操作均和人类世界的排队行为相类似,而代码实现上就在于插入、删除操作时的移动数据问题

    栈与队列部分

    这一部分的难点在于链式结构的实现上,还好原先考NRCE 二级C语言的时候这类题练的多,自然地脑海里面浮现出它们链式的实现方式。

    栈的长度计算方式是线性的。

    循环队列的长度计算方式:

    • 当front < rear时,队列的长度为:rear - front
    • 当rear < front时,队列的长度为:rear - front + QueueSize
      通用计算队列长度的公式: (rear - front + QueueSize) % QueueSize

    总结

    普通的线性表同普通栈与普通队列一样都有特定的空间大小,所以它们的结构数据均为数组的样式,同时需要一个长度来记录当前有多少个元素。

    对于链式结构而言它们不存在使用一个专门计数的指针域。

    后面我应该还会再阅读《Hello 算法》,《大话数据结构》说的有些浅显了,具体的代码逻辑方面有些捉摸不透,而且代码的逻辑方面也缺少新手学习的成分在内。

    2023年10月15日 19点56分

  • 相关阅读:
    Elasticsearch-基础介绍及索引原理分析
    Google Earth Engine ——把reducer统计的数据分别放在不同的列表中打印出来,使用unzip()函数
    400G QSFP-DD SR8光模块应用场景解析
    二叉树和堆
    VS2010 Windows API 串口编程 (二)
    SLAM从入门到精通(第一次hector slam建图)
    你真的精通HTML吗?——那些“看不见”的HTML标签及其使用场景
    【MySQL数据库和JDBC编程】第四章:MySQL索引和事务
    A-LOAM及禾赛LiDAR调试记录(上)
    聊聊简单又不简单的图上多跳过滤查询
  • 原文地址:https://blog.csdn.net/m0_63042291/article/details/133847664
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号