数据结构(续)

发布时间:2026/10/10 11:56:35
数据结构(续) 第三章链表和list一链表的概念1.列表的定义2.列表的定义二链表的模拟实现1.单链表的模拟实现动态申请链表节点和链表构建动态申请节点Node节点将动态申请一个节点的这个动作封装成一个函数打印链表的所有元素printlist:打印链表三动态链表—list在算法⽐赛中⼀般不会使⽤ new 和 delete 去模拟实现⼀个链表。⽽ STL ⾥⾯的 list 的底层就是动态实现的双向循环链表增删会涉及 new 和 delete效率不⾼竞赛中⼀般不会使⽤这⾥了解⼀下即可。1push_front / push_back1.push_front头插2.push_back尾插。2pop_front / pop_back1.pop_front头删2.pop_back尾删四算法题1排队顺序2单向链表第四章 栈的概念1.栈的概念栈是⼀种只允许在⼀端进通常是尾端⾏数据插⼊和删除操作的线性表。也就是栈是一种访问受限的线性表。• 进⾏数据插⼊或删除的⼀端称为栈顶另⼀端称为栈底。不含元素的栈称为空栈。•进栈就是往栈中放⼊元素出栈就是将元素弹出栈顶。2.栈的模拟实现3.stack1创建与list和vector相似stackT st; T 可以是任意类型的数据。2size/emptysize返回栈⾥实际元素的个数empty返回栈是否为空。时间复杂度O(1)3toptop返回栈顶元素但是不会删除栈顶元素。时间复杂度O(1)。代码测试第五章 队列和queue1.队列的概念相关术语空队入队队头与队尾出队2.队列的模拟实现1创建•⼀个⾜够⼤的数组充当队列•⼀个变量 h标记队头元素的前⼀个位置•⼀个变量 t标记队尾元素的位置。两个变量(h, t]是⼀种左开右闭的形式这样设定纯属个⼈喜好因为后续的代码写着⽐较舒服。当然也可以h标记队头元素的位置。只要能控制住代码不出现bug想怎么实现就怎么实现。第七章 二叉数三二叉树的遍历1.深度优先遍历代码演示2.宽度优先遍历四算法题1.新二叉数2.二叉树的遍历3.二叉数的深度4.先序排列5.美国血统6.二叉树问题第八章 堆和priority_queue一.堆的定义和存储1.定义2.存储二.核心操作1.向上调整算法2.向下调整算法3.priority_queue的创建列less和greater都只针对内置类型如果数据类型为结构体那么需要在结构体中重载比较运算符从而创建大根堆和小根堆。4.算法题12

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询