数据结构与算法-抽象数据类型ADT系列

以前在学习数据结构的时候做实验,老师要求用ADT抽象数据类型来写这些实现代码。后面也要复习数据结构,在这里就先放下链接。不过以前学习的时候使用的编程语言是C++,里面会用到很多指针。现在编代码过程大多数时候都是用Java。不过思路应该还是可以参考一下的。

二叉树系列:

二叉树:前序、中序、后序遍历

二叉树:层次遍历

二叉树:销毁

二叉树:建立存储结构(前序输入次序)

二叉树:叶子结点数

二叉树:左右互换

二叉树:以x为根的子树的深度

二叉树:中序遍历非递归实现

二叉树:前序遍历非递归实现

线索二叉树:中序线索二叉树的遍历

哈夫曼树的建立(二叉链表)

顺序表系列:

顺序表ADT模板设计及简单应用:将顺序表中前 m 个元素和后 n 个元素进行互换

顺序表ADT模板简单应用算法设计:删除顺序表中的冗余元素

顺序表ADT模板简单应用算法设计:线性表的合并

链表系列:

单链表ADT模板简单应用算法设计:单链表中前 m 个元素和后 n 个元素的互换

单链表ADT模板简单应用算法设计:有序单链表的归并+提纯

循环链表ADT模板简单应用算法设计:循环链表的合并

单链表ADT模板简单应用算法设计:单链表的逆置

栈系列:

顺序栈ADT模板简单应用算法设计:括弧匹配检验

顺序栈ADT模板简单应用算法设计:进制转换

队列系列:

顺序队列模板简单应用算法设计:杨辉三角形

链队列(带头结点)模板简单应用算法设计:猴子选大王

图系列:

邻接矩阵 构造无权图

邻接矩阵:有向无权图的判定

邻接表:添加一个顶点

邻接表:BFS实现拓扑排序

图的邻接矩阵:深度优先遍历

图的邻接矩阵:广度优先遍历

邻接表:构造有权图

邻接表:删除一个顶点

图的邻接表:广度优先遍历


后面重新学习数据结构,使用的编程语言就是Java啦。


加油加油^_^

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

keytool,openssl的使用

写在前面 在生成公钥私钥,配置https时经常需要用到keytool,openssl工具,本文就一起看下其是如何使用的。 keytool是jdk自带的工具,不需要额外下载,但openssl需要额外下载 。 1:使用keytool生成jks私钥文件…

WEB攻防-IIS中间件PUT漏洞

IIS6.0 server在web服务扩展中开启了WebDAV(Web-based Distributed Authoring and Versioning)。WebDAV是一种HTTP1.1的扩展协议。它扩展了HTTP 1.1,在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法,如PUT&#xff0c…

从事plc工资多少?是不是没前途?

60%以上的人都是8-15K之间吧 应届生刚入行正常就8-10k的样子,根据工龄和经验的增加会慢慢涨,但多大数人也就到15k。 如果做的确实比较好,能力突出的也有20k25k30k的,20k就不说了还正常,30k以上那就算是翘楚了属于行业…

system-auth与password-auth的区别

/etc/pam.d/system-auth和/etc/pam.d/password-auth是两个不同的PAM配置文件,它们在系统上的作用和功能略有不同。 /etc/pam.d/system-auth配置文件是系统的全局认证配置文件,通常包含系统范围内适用的认证规则和策略。这个文件会被其他PAM配置文件引用&…

自动驾驶横向控制算法

本文内容来源是B站——忠厚老实的老王,侵删。 三个坐标系和一些有关的物理量 使用 frenet坐标系可以实现将车辆纵向控制和横向控制解耦,将其分开控制。使用右手系来进行学习。 一些有关物理量的基本概念: 运动学方程 建立微分方程 主要是弄…

Linux进程——进程的概念(PCB的理解)

前言:在了解完冯诺依曼体系结构和操作系统之后,我们进入了Linux的下一篇章Linux进程,但在学习Linux进程之前,一定要阅读理解上一篇内容,理解“先描述,再组织”才能更好的理解进程的含义。 Linux进程学习基…

Hadoop3:集群搭建及常用命令与shell脚本整理(入门篇,从零开始搭建)

一、集群环境说明 1、用VMware安装3台Centos7.9虚拟机 2、虚拟机配置:2C,2G内存,50G存储 3、集群架构 从表格中,可以看出,Hadoop集群,主要有2部分,一个是HDFS服务,一个是YARN服务 …

记一次内网渗透

环境搭建: 排错: 在搭建过程中发现报错,删除这部分内容就成功解决。 信息收集 端口扫描 使用namp -sn 探测存活IP 接着去查看服务 web服务 然后发现80端口。访问 发现有管理员接口,并泄露了默认用户名和密码。 弱口令登录 …

linux dhcp服务器

虚拟机设置为dhcp后,启动会自动分配ip的原理 在vSphere环境中,当虚拟机设置为DHCP(动态主机配置协议)时,分配IP地址的功能通常由DHCP服务器承担。DHCP服务器负责在网络上为设备(包括虚拟机)提供…

vue中配置 测试、准生产、生产环境

在package.json,scripts中配置 "dev": "vue-cli-service serve --open --mode dev",在项目根目录下配置 新建 .env.dev 和.env.development文件 //类似于title NODE_ENV "serve" //各环境API数据接口请求地址 VUE_APP_BASE_API "http:…

软件测试笔记_习题_面经

软件测试------按测试阶段划分有几个阶段? 单元测试、集成测试、系统测试、验收测试 软件测试------按是否查看源代码划分有几种测试方法? 黑盒、白盒、灰盒 软件测试------按是否运行划分有几种测试方法? 静态测试、动态测试 软件测试------按是否自动化划分有几种测试方…

「PHP系列」PHP Exception(异常处理)

文章目录 一、PHP异常处理简介二、PHP异常是什么,怎么发生三、PHP异常处理机制四、Try、throw 和 catch1. try 块2. throw 语句3. catch 块 五、相关链接 一、PHP异常处理简介 PHP异常处理是一种机制,用于在程序执行期间捕获和处理错误或异常情况。当程…

在远程服务器上安装anaconda以及配置pytorch虚拟环境

目录 第一步:官网或者清华源下载Anaconda。 第二步:创建虚拟环境。 第三步:在服务器终端输入nvidia-smi查看服务器信息。 第四步:在pytorch官网找到对应版本cuda的命令。 第一步:官网或者清华源下载Anaconda。 官网…

智慧安防边缘计算硬件AI智能分析网关V4算法启停的操作步骤

TSINGSEE青犀视频智能分析网关V4内置了近40种AI算法模型,支持对接入的视频图像进行人、车、物、行为等实时检测分析,上报识别结果,并能进行语音告警播放。硬件管理平台支持RTSP、GB28181协议、以及厂家私有协议接入,可兼容市面上常…

矿山自动驾驶技术点分析

自动驾驶多用于乘用车领域,目前矿山自动驾驶量产落地前景广阔,由于矿山工作环境差,污染严重,而且通常矿区面积大,工作任务单一,场景固定,是一个适合进行自动驾驶落地的场景。 矿山自动驾驶俗称智…

02 - 步骤 Kafka consumer

简介 Kafka consumer 步骤,用于连接和消费 Apache Kafka 中的数据,它可以作为数据管道的一部分,将 Kafka 中的数据提取到 Kettle 中进行进一步处理、转换和加载,或者将其直接传输到目标系统中。 使用 场景 我需要订阅一个Kafka的数据&…

Python中的并发编程:利用asyncio实现高效I/O操作

摘要 在现代软件开发中,处理高并发请求和优化I/O密集型任务的性能至关重要。Python的asyncio库为开发者提供了一套简洁而强大的异步I/O编程工具,使得编写高性能的并发应用程序成为可能。本文将深入介绍asyncio的基本概念、核心组件及其在实际项目中的应用,通过示例代码展示如…

MyBatis(环境配置+基本CRUD)

文章目录 1.基本介绍1.为什么需要MyBatis?2.MyBatis介绍3.MyBatis工作示意图4.MyBatis的优势 2.快速入门文件目录1.需求分析2.数据库表设计3.父子模块环境配置1.创建maven父项目2.删除父项目的src目录3.pom.xml文件文件解释 4.创建子模块1.新建一个Module2.创建一个…

MySQL Binlog 闪回与分析

文章目录 前言1. 修改 event 实现闪回1.1 binlog 结构1.2 闪回案例1.3 方法总结 2. 解析文本闪回2.1 mysqlbinlog2.2 闪回案例2.3 方法总结 3. 在线订阅闪回3.1 mysql-replication3.2 binlog2sql3.3 方法总结 4. Binlog 分析方法4.1 分析场景4.2 辅助定位事务4.3 方法总结 5. 平…

代码随想录训练营Day 31|Python|Leetcode|435. 无重叠区间 ● 763.划分字母区间 ● 56. 合并区间

435. 无重叠区间 给定一个区间的集合 intervals ,其中 intervals[i] [starti, endi] 。返回 需要移除区间的最小数量,使剩余区间互不重叠 。 解题思路: 本题重点在于求重叠区间,将所有区间按照左边界从小到大排序。从第二个区…