数据结构
数据结构专栏
江冷易水寒
人终会被年少不可得之物困扰一生。
展开
-
八种排序算法总结
1.冒泡排序演示动画:2.堆排序演示动画:https://www.bilibili.com/video/av126674353.选择排序演示动画:4.插入排序演示动画:5.希尔排序演示动画:6.归并排序演示动画:7.快速排序演示动画:8.基数排序演示动画:package Connection;import java.util....原创 2019-03-05 20:00:21 · 239 阅读 · 0 评论 -
二叉树的建立、三种递归遍历、四种非递归遍历
代码:#include<iostream>#include<stack>#include<queue>using namespace std;typedef char ElementTYPE;//结构体定义typedef struct Node{ ElementTYPE data; struct Node *lchild; struct Node *rchild;}BinaryTree,*BiTree;class ...原创 2020-07-10 20:09:22 · 186 阅读 · 0 评论 -
建立二叉树
注意:BinaryTree* createBinaryTree(BinaryTree* &T)需要取指针的引用主要疑问:在创建二叉树的函数中为什么要用到指针的引用呢?而创建单链表时却用不到呢?(这一点很重要)因为我想改变从主函数中传入的二叉树的根指针。 孩子节点最终会变成根节点,所以也需要改变指针,故需要指针引用的方式。#include<iostream>using namespace std;typedef char ElementTYPE;typede...原创 2020-07-09 21:26:20 · 178 阅读 · 0 评论 -
不带头结点的循环链表建立、输出、删除
建立//不带头结点的循环链表LinkList* initCList(){ LinkList* rear; LinkList* list; list = (LinkList*)malloc(sizeof(LinkList)); list->next = NULL; rear = list; for(int i=0;i<10;i++){ LinkList *s = (LinkList*)malloc(sizeof(LinkLis原创 2020-07-08 14:39:21 · 1538 阅读 · 0 评论 -
双向链表之创建插入删除
1、预前知识:1、一个节点的前驱或者后继指向的都是节点的地址,这个地址包含当前节点的数据域和指针域。2、对于节点p,有p->prior->next=p=p->next->prior3、单链表的插入只需要修改两个指针,而双链表需要修改四次指针,即p的前驱、后继,s的前驱、后继。4、双链表删除节点时比单链表方便很多。因为单链表删除时需要进行一次循环来查找它上一个...原创 2020-03-23 22:13:54 · 1021 阅读 · 0 评论 -
单链表之尾插法
1、前言:尾插法,借助尾指针r,相当于媒婆,将原节点与新增节点P相连接,相比于头插法的好处是输入与输出顺序一致,如输入12345,输出也是123452、实现原理:1、从一个空链表L开始,借助尾指针将新节点逐个插入到链表的尾部,尾指针r始终指向链表的尾节点。2、初始时,r与L均指向头节点L,然后当有新增节点插入时,将新节点插入到尾节点后,然后r再次指向新节点。3、描述成一个故事:...原创 2020-03-22 17:56:25 · 6635 阅读 · 2 评论 -
单链表之头插法
1、前言:什么是头插法?说白了头插法就是新增节的点总是插在头节点后面,然后大家可能会有疑惑,什么是新增节点,什么是头节点呢,下面请听俺娓娓道来。。。2、预前准备:头节点:一个队伍通常需要有一个标杆,就也是站在第一排举旗的那个人,头节点就相当于那个举旗的人,它不需要存放数据,只需起到标杆的作用,下面用 L 来表示头节点。新增节点:相当于后面的小兵,手里需要拿着装备(数据域)和用来指向...原创 2020-03-22 14:31:37 · 6419 阅读 · 2 评论 -
随机存取与顺序存取
1、随机存取就是直接存取,可以通过下标直接访问到元素的位置,与存储位置无关,时间复杂度永远为O(1),例如数组。存取第N个数据时,不需要访问前(N-1)个数据,直接就可以对第N个数据操作 (array)。2、非随机存取也叫顺序存取,不能通过下标访问,在存取第N个数据时,必须先访问前(N-1)个数据 ,例如链表。3.存取与插入删除的区别:存取只是将数组或链表的数据取出来或存入,不改变表的长度...原创 2020-03-21 13:45:33 · 4017 阅读 · 2 评论 -
逻辑结构与物理结构
逻辑结构:简单的来说,逻辑结构就是数据之间的关系。逻辑结构常见有四种类型:集合结构,线性结构,树形结构,图形结构。 所谓集合结构:表面意思,没有什么深刻意义,就是数据元素同属一个集合,单个数据元素之间没有任何关系。如下图所示。 ...原创 2020-03-20 20:20:29 · 6632 阅读 · 0 评论