考研数据结构笔记(4)

在这里插入图片描述

链表(链式存储)

  • 单链表
    • 定义
    • 基本操作的实现
      • 单链表的插入
        • 按位序插入
        • 指定节点的前插
        • 指定节点的后插
      • 单链表的删除
    • 小结

单链表

定义

在这里插入图片描述

在这里插入图片描述

顺序表优点:可随机存取,存储密度高,缺点:要求大片连续空间,改变容量不方便。
单链表优点:不要求大片连续空间,改变容量方便,缺点:不可随机存取,要耗费一定空间存放指针。

定义单链表的代码:
在这里插入图片描述
定义数据领和指针域

定义一个新节点
在这里插入图片描述

定义typedef关键字来缩短函数书写麻烦
在这里插入图片描述

所以综上定义单链表有两种方式
在这里插入图片描述
要表示一个单链表时,只需声明一个头指针L,指向单链表的第一个结点
LNode * L; //声明一个指向单链表第一个结点的指针,或者LinkList L;//声明一个指向单链表第一个结点的指针,后者代码可读性更强。

  • 强调这是一个单链表–使用 LinkList
  • 强调这是一个结点–使用LNode*
  • 二者本质相同,都用于定义一个类型为单链表的指针

在这里插入图片描述

初始化一个不带头节点的单链表:

在这里插入图片描述
初始化一个带头节点的单链表:
在这里插入图片描述

在这里插入图片描述

基本操作的实现

在这里插入图片描述

单链表的插入

在这里插入图片描述

按位序插入

带头结点插入
在这里插入图片描述
在这里插入图片描述

不带头结点插入
在这里插入图片描述
在这里插入图片描述

指定节点的前插
  • 法1:用已知头指针来遍历链表插入
    在这里插入图片描述
  • 法2:用已知p节点后插入数据来转移数据(时间复杂度为O(1))

在这里插入图片描述

指定节点的后插

在这里插入图片描述
在这里插入图片描述

单链表的删除

  • 法1:用已知头指针来遍历链表删除
    在这里插入图片描述
    在这里插入图片描述
  • 法2:用已知p节点删除数据(时间复杂度为O(1))(且p节点不能为最后一个节点)
    在这里插入图片描述

小结

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/378738.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络基本知识(一)

文章目录 概要速率带宽、吞吐量带宽吞吐量 时延发送(传输)时延传播时延排队时延处理时延时延带宽积 利用率 概要 速率、带宽、吞吐量、时延、利用率 速率 记忆要点:10的三次方 记忆要点:2的10次方 带宽、吞吐量 带宽 单位&…

[C/C++] -- CMake使用

CMake(Cross-platform Make)是一个开源的跨平台构建工具,用于自动生成用于不同操作系统和编译器的构建脚本。它可以简化项目的构建过程,使得开发人员能够更方便地管理代码、依赖项和构建设置。 CMake 使用一个名为 CMakeLists.tx…

QML中常见热区及层级结构

目录 引言层级结构默认层级结构z值作用范围遮罩实现-1的作用 热区嵌套与普通元素与其他热区与Flickable 事件透传总结 引言 热区有很多种,诸如MouseArea、DropArea、PinchArea等等,基本都是拦截对应的事件,允许开发者在事件函数对事件进行响…

kubectl 创建 Pod 背后到底发生了什么?

想象一下,如果我想将 nginx 部署到 Kubernetes 集群,我可能会在终端中输入类似这样的命令: $ kubectl run --imagenginx --replicas3然后回车。几秒钟后,你就会看到三个 nginx pod 分布在所有的工作节点上。这一切就像变魔术一样…

Java学习15-- 面向对象学习3. 对象的创建分析【★】

(本章看不懂多读几遍,弄懂后再往下章看) 面向对象学习3. 对象的创建分析 Java Memory Structure: 如上图所示: 主要分为Stack和Heap Memory 其中Stack主要放method包括main 程序从main开始所以main最先进入Stack,等…

蓝桥杯第八届省赛题笔记------基于单片机的电子钟程序设计与调试

题目要求: 一、基本要求 1.1 使用 CT107D 单片机竞赛板,完成“电子钟”功能的程序设计与调试; 1.2 设计与调试过程中,可参考组委会提供的“资源数据包”; 1.3 Keil 工程文件以准考证号命名,保存在…

C语言系列-文件操作

🌈个人主页: 会编程的果子君 ​💫个人格言:“成为自己未来的主人~” 为什么使用文件 如果没有文件,我们写的程序的数据是存储在电脑的内存上,如果程序退出,内存回收,数据就会丢失了,等再次运行…

MySQL 日志管理

4.6)日志管理 MySQL 支持丰富的日志类型,如下: 事务日志:transaction log 事务日志的写入类型为 "追加",因此其操作为 "顺序IO"; 通常也被称为:预写式日志 write ahead…

[职场] 服务行业个人简历 #笔记#笔记

服务行业个人简历 服务员个人简历范文1 姓名: XXX国籍:中国 目前所在地:天河区民族:汉族 户口所在地:阳江身材: 160cm43kg 婚姻状况:未婚年龄: 21岁 培训认证:诚信徽章: 求职意向及工作经历 人才类型:普通求职 应聘职位: 工作年限:职称:初级 求职类型:全职可到职日期:随时 月薪…

住宅供暖设备行业调研:市场环境将稳定发展阶段中

为使人们生活或进行生产的空间保持在适宜的热状态而设置的供热设施。 向一定的空间加热量的办法,可以直接把产生热量的火炉装在其中;也可以抽出其中的空气,加热后再送回;也可以在其中装置保持在较高温度的物体,向所在空间放热。这种温度较高的…

极值图论基础

目录 一,普通子图禁图 二,Turan问题 三,Turan定理、Turan图 1,Turan定理 2,Turan图 四,以完全二部图为禁图的Turan问题 1,最大边数的上界 2,最大边数的下界 五,…

机器人学、机器视觉与控制 上机笔记(第一版译文版 2.1章节)

机器人学、机器视觉与控制 上机笔记(第一版译文版 2.1章节) 1、前言2、本篇内容3、代码记录3.1、新建se23.2、生成坐标系3.3、将T1表示的变换绘制3.4、完整绘制代码3.5、获取点*在坐标系1下的表示3.6、相对坐标获取完整代码 4、结语 1、前言 工作需要&a…

【前端web入门第四天】03 显示模式+综合案例热词与banner效果

文章目录: 1. 显示模式 1.1 块级元素,行内元素,行内块元素 1.2 转换显示模式 综合案例 综合案例一 热词综合案例二 banner效果 1. 显示模式 什么是显示模式 标签(元素)的显示方式 标签的作用是什么? 布局网页的时候,根据标签的显示模式选择合适的标签摆放内容。…

编码安全风险是什么,如何进行有效的防护

2011年6月28日晚20时左右,新浪微博突然爆发XSS,大批用户中招,被XSS攻击的用户点击恶意链接后并自动关注一位名为HELLOSAMY的用户,之后开始自动转发微博和私信好友来继续传播恶意地址。不少认证用户中招,也导致该XSS被更…

21、数据结构/单向循环链表练习20240203

一、请编程实现单向循环链表的头插,头删、尾插、尾删。 二、请编程实现单向循环链表约瑟夫环 约瑟夫环:用循环链表编程实现约瑟夫问题 n个人围成一圈,从某人开始报数1, 2, …, m,数到m的人出圈,然后从出圈的下一个人…

pytorch入门第一天

今天作为入门pytorch的第一天。打算记录每天学习pytorch的一些理解和笔记,以用来后面回顾。当然如果能帮到和我一样的初学者,那也是不胜荣幸。作为一名初学者,难免有些地方会现错误,欢迎各位大佬指出 预备知识 这里主要介绍pyto…

gtkmm4 应用程序使用 CSS 样式

文章目录 前言css选择器css文件示例源代码效果 前言 程序样式和代码逻辑分离开 使代码逻辑更可观 css选择器 Cambalache提供了两种css-classes 相当于css里的类名:class“类名”css-name 相当于css里的标签名:spin div p 啥的 如上我设置了这个按钮控件的类名为testButton 标…

基于Chrome插件的Chatgpt对话无损导出markdown格式(Typora完美显示)

刚刚提交插件到Chrome插件商店正在审核,想尝试的可以先使用: https://github.com/thisisbaiy/ChatGPT-To-Markdown-google-plugin/tree/main 我将源代码上传至了GitHub,欢迎star, IssueGoogle插件名称为:ChatGPT to MarkDown plus…

元宇宙虚拟数字人实训室:推动高校培养创新技术人才

随着元宇宙时代的到来,虚拟数字人技术逐渐成为当下火热的产业赛道之一。虚拟数字人涉及了计算机、数字媒体、市场营销等学科技术领域,高校可以通过搭建元宇宙虚拟数字人实训室,有效培养对元宇宙行业的专业化理解和研究能力的专业型创新人才。…

Python中的数据类型

如果说python中的数据类型,那我们要从标准数据类型说起,在python中标准数据类型如下: 数字类型: 数字数据类型用于存储数值。 他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。 在python2.X中数据类型分的比较多,有int(有符号整型),long(…