数据结构入门
文章平均质量分 93
记录分享第一次学习数据结构的过程中的基础知识和代码实现
羟基与苯
你好,工程师。
展开
-
数据结构--树--二叉树的创建和遍历(前序、中序、后序、层序)
二叉树的存储结构;二叉树的创建;二叉树的遍历;前序遍历中序遍历后序遍历层序遍历原创 2022-04-17 16:15:00 · 2448 阅读 · 4 评论 -
数据结构--队列--链式队列入队、出队等基本操作的实现(C语言)
文章目录🎄链式队列结构定义⭐1.创建并初始化队列⭐2.入队⭐3.出队⭐4.遍历打印链式队列中的元素⭐5.判断队空⭐6.计算队列中的数据个数⭐7.动态内存释放🎄各操作测试代码及结果本文涉及完整代码及测试代码均已提交至Gitee,大家可以点击链接参考。鄙人乃一介初学者,文中及代码中难免出错,恳请同志们雅正!我们在之前使用顺序结构的存储方式实现了队列,其中因为要解决时间复杂性还使用了循环队列来实现。既然队列是一个线性表,那么使用链式结构同样可以实现队列。接下来我们看看如何实现链式队列。🎄链式队原创 2022-04-15 23:46:11 · 10358 阅读 · 1 评论 -
数据结构--基本概念和学习目标
1968年美国克努特教授开创了数据结构的最初体系,所著《计算机程序设计的艺术》一书被誉为程序员的圣经。那么到底什么是数据结构呢?其实,数据结构就是研究计算机中数据与数据之间的关系,包括逻辑结构和存储结构。 数据的逻辑结构数据的逻辑结构表示数据运算之间的抽象关系。按每个元素可能具有的直接前趋数和直接后继数将逻辑结构分为“线性结构”和“非线性结构”两大类。 通常有:集合、线性表、树、图等常见的逻辑结构。逻辑结构是指数据内部的数据的本身的属性,与我们如何处理没有任何关系。1.集合:集合——数据元素间除原创 2022-04-08 13:20:46 · 819 阅读 · 0 评论 -
数据结构--队列--顺序循环队列的操作实现(C语言)
文章目录🎄队列是个什么样的数据结构?🎄循环队列🎄顺序循环队列的实现⭐1.创建初始化队列⭐2.入队⭐3.出队⭐4.队列遍历打印⭐5.清空队列⭐6.判断队列空⭐7.判断队列满⭐8.动态内存释放🎄总结本文中涉及的完整代码及各操作测试代码均已提交至Gitee,大家可以点击链接参考。鄙人乃是一介初学者,文中及代码中难免出错,请同志们批评指正!🎄队列是个什么样的数据结构?我们前面介绍过栈,栈乃是一个只有一个口的直筒子。那么队列,其实是一个两端开口的直筒子。其实这里的队列就基本相当于我们生活中的队列。原创 2022-04-15 15:51:12 · 5604 阅读 · 2 评论 -
数据结构--树--二叉树的定义、基本概念和性质
文章目录🎄二叉树的定义⭐1.二叉树的特点⭐2.特殊的二叉树🎇(1)斜树🎇(2)满二叉树🎇(3)完全二叉树⭐3.二叉树的一些性质🎇性质1:在二叉树的第i层上至多有2i-1个结点(i≥1)。🎇性质2:深度为k的二叉树至多有2k -1个结点(k≥1)。🎇性质3:对任何一棵二叉树T,如果其叶子结点数为n0,度为2的结点数为n2,则有n0=n2+1🎇性质4:具有n个结点的完全二叉树的深度为[ log2n ] +1🎇性质5:鄙人乃一介初学者,文中及代码中难免出错,恳请同志们批评指正!或许你曾看到过这样的图原创 2022-04-16 18:35:04 · 1106 阅读 · 3 评论 -
数据结构---栈的概念及顺序栈入栈、出栈等操作的实现(C语言)
文章目录🎄栈的基本概念🎄顺序栈及其操作的实现⭐1.顺序栈的初始化⭐2.顺序栈入栈操作⭐3.顺序栈出栈操作⭐4.判断顺序栈是否空⭐5.判断顺序栈是否满⭐6.遍历打印顺序栈中元素⭐7.清空顺序栈中元素⭐8.计算顺序栈元素个数⭐9.动态内存释放本文中所涉及的完整代码及测试代码等已提交至gitee,可以点击此链接查看参考。因为本人是编程初学者,文中及代码中难免出现错误,请同志们批评指正!🎄栈的基本概念上图是一个羽毛球筒,它只有一端开口,羽毛球在其中挨个存放,如果我们想往里面放入一只羽毛球,只能从原创 2022-04-14 13:24:24 · 8203 阅读 · 2 评论 -
数据结构--树--树的定义和基本概念
文章目录🎄前言🎄树的基本概念⭐1.树的定义:⭐2.树的一些概念🎇结点的度和结点分类:🎇结点之间的关系:🎇树的层次和深度🎇路径、树的次序和森林鄙人乃一介初学者,文中及代码中难免出错,恳请同志们批评指正!🎄前言我们在前面的篇章中已经学习了很多数据结构:顺序表、链表、栈、队列等等,但是它们在逻辑上都属于线性结构,也就是从前到后贯穿,中途并没有分支。但是在我们的生活中,这种单纯的线性结构并不足以描述所有的逻辑结构,比如你自己家里的亲族关系,从爷爷奶奶开始,如果你的爸爸妈妈都有兄弟姐妹,那么一定会有原创 2022-04-16 13:38:46 · 2482 阅读 · 0 评论 -
球钟问题---栈与队列的应用
文章目录🍔球钟问题描述🍔球钟问题分析🍔代码实现 本文中涉及的代码已提交至Gitee,可以点击链接参考。鄙人乃一介初学者,文中及代码中难免出错,恳请同志们批评指正!🍔球钟问题描述球钟是一个利用球的移动来记录时间的简单装置,它有三个可以容纳若干个球的指示器:分钟指示器、五分钟指示器、小时指示器。若分钟指示器中有2个球,五分钟指示器中有6个球,小时指示器中有5个球,则时间为5:32。其工作原理是:每过一分钟,球钟就会从球队列的队首取出一个球放入分钟指示器,分钟指示器最多可容纳4个球。当放入第原创 2022-04-16 11:08:10 · 670 阅读 · 5 评论 -
数据结构--单向链表及其增、删、改、查、排序等操作的实现(C语言)
文章目录🎃链表🎃单向链表的实现(C语言)📌结点类型描述📌1.创建初始化一个链表结点📌2.从链表尾部插入数据📌3.链表遍历打印📌4.查找链表:按结点序号查找📌5.查找链表:按数据内容查找📌6.在任意位置插入一个数据📌7.删除链表:按结点序号删除📌8.删除链表:按数据内容删除📌9.free释放内存📌10.求链表数据个数🎃单向链表总结本章内容:单链表的概念;单链表结点模型;单链表的各运算实现。本文涉及实现单链表完整代码已提交至码云Gitee中,供读者参考。🎃链表我们之前实现了数据结构中第一个结构–顺序原创 2022-04-10 22:41:29 · 2535 阅读 · 0 评论 -
数据结构---链式栈及其入栈、出栈等操作的实现(C语言)
文章目录🎄链式栈🎄链式栈的基础操作实现⭐1.链式栈的初始化⭐2.链式栈入栈操作⭐3.链式栈出栈操作⭐4.判断链式栈是否空⭐5.遍历打印链式栈中元素⭐6.计算链式栈元素个数⭐7.动态内存释放🎄栈本文中涉及的完整代码及各操作测试代码均已提交至Gitee,大家可以点击链接参考。因本人为编程初学者,文中及代码中难免出错,请同志们批评指正!🎄链式栈上文我们讲述了顺序栈的实现,既然有顺序存储的栈,那么肯定就有链式存储的栈,本文将简要介绍链式栈的实现。其实,和单链表的实现几乎一模一样,所不同的只是链表中原创 2022-04-14 19:20:58 · 9824 阅读 · 7 评论 -
数据结构之顺序表及其实现
文章目录🎆 前言⚾ 什么是线性表?1.线性表的数学表述:2.线性表的特点:⚾代码编写规范🎆 顺序表的实现⚾1.创建并初始化:ListInit();⚾2.判断是不是空表:ListIsEmpty();⚾3.查表长:ListLen();⚾4.向表中添加元素:ListInsert();⚾5.遍历顺序表并打印:ListShow();⚾6.清空顺序表:ListClear();⚾7.释放顺序表开辟的空间:ListFree();⚾8.删除顺序表中元素:ListDelete();⚾9.查找定位表中某个元素:ListLoc()原创 2022-04-09 18:46:06 · 1062 阅读 · 0 评论