![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
Iron__chēn
大鹏一日乘风起,扶摇直上九万里。
展开
-
堆排序算法用数组模拟二叉树,求A[K](K>0)的父节点坐标
牛客,树的练习题原创 2022-09-01 15:53:39 · 333 阅读 · 0 评论 -
第七章 查找——二分查找
二分查找#include <string.h>#include <iostream>using namespace std;int Bin_Search(int A[],int n,int k){ int low=0; int high=n-1; int mid; while(low<=high) { mid=(...原创 2020-05-05 16:16:38 · 150 阅读 · 0 评论 -
第七章 查找——二叉排序树
二叉排序的建立//然后找出9在第一串数字中的起始位置和最终出现的位置 时间复杂度log2^5//【输入】// 1599985// 9//【输出】// 2 4#include <stdio.h>#include <stdlib.h>#include <string.h>#include <i...原创 2020-05-03 23:18:09 · 249 阅读 · 0 评论 -
第二章 链表——循环单链表的创建&某一节点的删除
第二章 线性表—循环单链表数据结构基础代码 (严蔚敏 人邮教育出版社)带头结点的循环单链表的创建与某一节点的删除#include<stdio.h>#include<stdlib.h>#include<math.h>#define OK 1#define FALSE 0typedef struct LNode{ int data;...原创 2020-04-08 13:21:29 · 756 阅读 · 0 评论 -
第五章 树——二叉树最大路径长度和最大带权路径和
第五章 二叉树的最大路径长度和最大带权路径和1、二叉树的最大路径长度:给定一棵二叉树,在树中一定存在两个距离最远的叶子节点。这就是二叉树的最大路径长度。路径A: 路径经过左子树的最深节点,通过根节点,再到右子树的最深节点。路径B:路径不穿过根节点,而是左子树或右子树的最大距离路径,取其大者。【路径A(最大路径6)如图所示:】【路径B(最大路径4)如图所示:】//求二叉树的带权路径...原创 2020-03-19 12:03:40 · 3527 阅读 · 0 评论 -
第五章 树——哈夫曼树的创建与最优二叉树的带权路径和
第五章 树—哈夫曼树的创建与最优二叉树的带权路径和数据结构基础代码 (严蔚敏 人邮教育出版社)哈夫曼树 带权路径长度最短的树。假设给叶子节点A、B、C、D它们的权值是2、4、5、7.则构成的哈夫曼树如下图所示:带权路径长度(WPL)树中所有叶子结点的带权路径长度和,其中叶子结点的带权路径是该结点到树根之间路径长度与结点上权的乘积。上图所示的带权路径长度是:WPL=23+43+52+7...原创 2020-03-17 16:35:35 · 682 阅读 · 0 评论 -
第五章 树——二叉树的层次遍历
第五章 树—二叉树的层次遍历与深度优先遍历数据结构基础代码 (严蔚敏 人邮教育出版社)层次遍历我们如下图所示的二叉树作为示例,进行层次遍历演示:二叉树的层次遍历利用了队列这一结构,把根节点先入队列,之后再出队列,如果根节点有左子树和右子树,则根节点的左子树入队,右子树入队,如此反复直到队列为空为止。//树的层次遍历#include <stdio.h>#include &...原创 2020-03-14 22:33:30 · 568 阅读 · 0 评论 -
第三章 队列
第三章 队列—顺序队列数据结构基础代码 (严蔚敏 人邮教育出版社)按照存储结构划分,队列可以分为两种,顺序队和链队。在顺序队中,通常让队尾指针rear指向刚进队的元素位置,让队首指针front指向刚出队的元素位置。元素进队时,rear指针向后移动,元素出队的时候,front向后移动。为了避免,当两指针同时到达MaxSize-1处时,虽然队中没有元素,但仍然无法让元素入队的“假溢出”,构造循环...原创 2020-03-14 11:53:59 · 183 阅读 · 0 评论 -
第五章 树—二叉树的带权路径和
第五章 树和二叉树数据结构基础代码 (严蔚敏 人邮教育出版社)树的带权路径长度(Weighted Path Length) 定义:树中所有叶子的带权路径长度之和。如下图所示,下图的二叉树有四个结点,每个结点带的权重如括号内所示,那么这棵二叉树的WPL=1×0+2×1+4×1+6×2=18//求二叉树的带权路径长度#include <stdio.h>#include <...原创 2020-03-12 22:07:38 · 2332 阅读 · 0 评论 -
第五章 树—二叉树的创建与深度优先遍历(递归与非递归)
第五章 树和二叉树数据结构基础代码 (严蔚敏 人邮教育出版社)一、二叉树的创建和递归遍历(前中后)#include <stdio.h>#include <stdlib.h>#include <iostream>using namespace std;#define MaxSize 100//二叉树的链式存储结构typedef struct Bi...原创 2020-03-10 21:53:01 · 180 阅读 · 0 评论 -
第八章 排序—选择排序
第八章 排序—选择排序数据结构基础代码 (严蔚敏 人邮教育出版社)简单选择排序#include <stdio.h>int selectionSort(int A[],int N){ int i,j,t,minj; int sw=0; for(i=0;i<N-1;i++) { minj=i; for(j=i...原创 2020-01-15 11:01:54 · 144 阅读 · 0 评论 -
第八章 排序—归并排序
第八章 排序—归并排序数据结构基础代码 (严蔚敏 人邮教育出版社)2-路归并排序#include <stdio.h>#include <iostream>using namespace std;//归并排序//2—路归并排序void Merge (int A[],int B[],int low,int mid,int high){ int i,j,...原创 2020-01-15 23:46:42 · 119 阅读 · 0 评论 -
第三章 栈——顺序栈
第三章 栈——顺序栈数据结构基础代码 (严蔚敏 人邮教育出版社)#include<stdio.h>#include<stdlib.h>#define MaxSize 100//创建顺序栈的结构体typedef struct{ int data[MaxSize]; int top;}SqStack;//初始化栈void InitStac...原创 2020-03-07 21:32:56 · 114 阅读 · 0 评论 -
第二章 链表——链表的逆序
第二章 线性表—链表的逆序数据结构基础代码 (严蔚敏 人邮教育出版社)#include <stdio.h>#include <stdlib.h>#include <iostream>using namespace std;//写一个函数,把链表逆序typedef struct LNode{ int data; struct LNo...原创 2020-03-04 20:04:50 · 265 阅读 · 0 评论 -
第二章 链表—双链表的查找与删除
第二章 线性表—双链表的查找与删除数据结构基础代码 (严蔚敏 人邮教育出版社)一、双链表的查找#include<stdio.h>#include<stdlib.h>#include<iostream>using namespace std;#define OK 1typedef int ElemType;typedef struct DLNod...原创 2020-03-03 23:51:03 · 332 阅读 · 0 评论 -
第二章 链表—双链表的建立
第二章 线性表—双链表的建立数据结构基础代码 (严蔚敏 人邮教育出版社)#include<stdio.h>#include<stdlib.h>#include<iostream>using namespace std;#define OK 1typedef int ElemType;typedef struct DLNode{ Elem...原创 2020-03-03 15:40:45 · 146 阅读 · 0 评论 -
第二章 链表—单链表的删除
第二章 线性表—单链表的删除数据结构基础代码 (严蔚敏 人邮教育出版社)1、根据元素值进行删除#include <stdlib.h>#include <iostream>using namespace std;typedef struct LNode{ int data; struct LNode *next;}LNode,*LinkLis...原创 2020-02-18 21:15:29 · 688 阅读 · 0 评论 -
第二章 链表—单链表的查找
第二章 线性表—单链表的查找数据结构基础代码 (严蔚敏 人邮教育出版社)单链表结点值查找#include <stdlib.h>#include <iostream>using namespace std;typedef struct LNode{ int data; struct LNode *next;}LNode,*LinkList;...原创 2020-02-18 20:03:26 · 385 阅读 · 0 评论 -
第二章 链表—单链表的创建
第二章 线性表—单链表数据结构基础代码 (严蔚敏 人邮教育出版社)下面的链接,是关于不同类型头文件包含的不同函数,小白选手是可以参阅一下的,针对那些不太清楚编写代码时不知道写什么头文件的baobao们~~点这里...原创 2020-02-16 21:16:39 · 259 阅读 · 0 评论 -
第七章 查找—直接查找
第七章 查找——直接查找数据结构基础代码 (严蔚敏 人邮教育出版社)直接查找在这里分了两种,第一种是单个元素在数组原创 2020-01-29 10:53:16 · 989 阅读 · 0 评论 -
第八章 排序—交换排序
第八章 排序选择排序8-2交换排序冒泡排序```csharp#include <iostream>using namespace std;int bubbleSort (int A[],int N){ int sw=0; bool flag=1; for(int i=0;flag;i++)//c++中的for循环,for(init;condit...原创 2020-01-13 10:04:37 · 112 阅读 · 0 评论 -
第八章 排序—插入排序
数据结构 基础代码(严蔚敏,人邮出版社)第八章 排序插入排序#include <iostream>#include <stdio.h>using namespace std;/*插入排序*/void trace(int A[],int N){ int i; for(i=0;i<N;i++) { if(i>...原创 2020-01-09 16:27:08 · 189 阅读 · 1 评论