
数据结构
文章平均质量分 51
风铃奈
加油加油加油呀
展开
-
【第三节】3.3二叉搜索树
????二叉搜索树性质:每个结点的值都必须大于或等于存储在其左子树中的任何值每个结点的值都必须小于或等于存储在其右子树中的任何值????举例????结构体创建typedef int BstElemType;typedef struct BinTreeSearch{ BstElemType data; struct BinTreeSearch *leftChild; struct BinTreeSearch *rightChild;}BinTreeSearch;typedef原创 2021-12-22 19:53:28 · 487 阅读 · 4 评论 -
【第三节】3.2二叉树的基本操作--(递归)
前提关于二叉树的创建有问题的可以参考下面这个文章二叉树的创建--五种方法目录目录目录????二叉树结点个数????中序遍历????后序遍历????求二叉树高度????查找二叉树结点????查找二叉树的父节点????克隆二叉树????判断两个二叉树是否相等????二叉树结点个数int Size(BinTree t){ assert(t); if (t == NULL){ return 0; } else{//左子树的个数+右子树的个原创 2021-12-19 16:06:54 · 285 阅读 · 1 评论 -
【第三节】3.1二叉树的创建--五种方法(递归)
目录前提二叉树的结构1.有参数的输入型创建2.无参数的输入型创建3.给定字符串创建二叉树4.给定先序和中序序列创建二叉树5.给定中序和后序序列创建二叉树补充:前提二叉树的结构typedef struct BinTreeNode{ BTElemType data;//BTElemType是二叉树结点数据类型,为了便于代码的修改,可以是int,char...... struct BinTreeNode *leftChild; struct BinTreeNod原创 2021-12-19 14:40:17 · 6098 阅读 · 4 评论 -
【第二节】线性表--链表
????链表许多结构单链表,单循环链表,双链表,双循环链表,带头节点的单链表,不带头节点的双向链表......1.线性表的链式存储结构的特点是用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的)2.一个结点包括两个域:其中存储数据元素的叫数据域,存储直接后继存储位置的域叫指针域3.用线性链表表示线性表时,数据元素之间的逻辑关系是由结点中的指针指示的,指针为数据元素之间的逻辑关系映像,所以逻辑上相邻的两个数据元素其存储的物理位置不要求相邻???原创 2021-12-12 02:53:13 · 640 阅读 · 2 评论 -
【第一节】1.1 线性表--顺序表(变长)
顺序表的插入,删除,反转,排序等原创 2021-12-11 02:53:17 · 944 阅读 · 0 评论 -
【前言】数据结构基础知识
一、什么是数据结构1.什么是数据数据是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称数据的含义极为广泛,如图像声音等都可以通过编码而归之于数据结构的范畴2.什么是数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。3.什么是数据项若干个数据项可组成一个数据元素,数据项是数据不可分割的最小单位4.数据对象数据对象是性质相同的数据元素的集合,是数据的一个子集总结:什么是数据结构数据结构是相互之间存在一种或多种原创 2021-12-11 02:37:20 · 274 阅读 · 2 评论 -
【数据结构】带头节点的双向循环链表基本操作
目的实现双向循环带头节点的链表的增删改查创建返回链表头节点// 创建返回链表的头结点.ListNode* ListCreate(){ ListNode *head = (ListNode*)malloc(sizeof(ListNode)); head->next = head; head->prev = head; return head;}双向链表的销毁// 双向链表销毁void ListDestory(ListNode* pHead){ assert(pH原创 2021-12-06 10:33:00 · 361 阅读 · 2 评论 -
【数据结构】线性表基本操作大全(反转,插入,删除,排序,查找)
实现线性表各种操作,包括头删尾删,头插尾插,排序,查找,反转,清空,按值插入,按值删除,按位置插入,按位置删除 等等原创 2021-12-02 17:32:09 · 1575 阅读 · 6 评论