一、思维导图 二、重要概念 1.算法 (1)时间复杂度的计算 2.线性表 (1)头插法建立单链表:建立的表格元素顺序与输入元素顺序相反 (2)尾插法建立单链表 3.栈和队列 (1)Stack 栈的进栈出栈规则: ? 按序进栈→有n个元素1,2,…,n,它们按1,2, …,n的次序进栈(i进栈时, 1 ...
分类:
编程语言 时间:
2020-03-28 20:21:49
阅读次数:
185
单向链表创建 链表是动态分配存储空间的链式存储结构。 其包括一个“头指针”变量,其中第0个结点称为整个链表的头结点,头结点中存放一个地址,该地址指向一个元素,头结点一般不存放具体数据,只是存放第一个结点的地址。 链表中每一个元素称为“结点”,每个结点都由两部分组成:存放数据元素的数据域和存储直接后继 ...
分类:
其他好文 时间:
2017-04-16 13:57:54
阅读次数:
266
链表是一种零散的线性数据结构。链表建立、插入、删除、查找、遍历等基本操作。链表的插入删除的时间复杂度为$O(1)$,而查找的时间复杂度为$O(n)$。 按照组织的方式,链表可以分为单链表,双链表,环形链表。 单链表的节点只包括数据域和一个指针域,其中指针域指向其后继节点,因此只能单向访问,不能够访问 ...
分类:
其他好文 时间:
2017-04-12 19:49:05
阅读次数:
182
给定一个链表,你需要删除那些绝对值相同的节点,对于每个绝对值K,仅保留第一个出现的节点。删除的节点会保留在另一条链表上。简单来说就是去重,去掉绝对值相同的那些。先输出删除后的链表,再输出删除了的链表。 建立结构体节点,包括起始地址addr,下一个地址to,值value。链表数组索引为地址,接下来就是 ...
分类:
其他好文 时间:
2016-11-25 19:39:19
阅读次数:
225
利用链表建立二叉树,完成前序遍历、中序遍历、后序遍历。 建立二叉树用的是前序遍历建立二叉树: 输出结果: ...
分类:
编程语言 时间:
2016-08-19 01:00:53
阅读次数:
289
约瑟夫环:用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至最后一个元素并输出该元素的值。 一、循环链表:建立一个有N个元素的循环链表,然后从链表头开始遍历并记数,如果计数值为M,则输出并删除该元素,继续循环(其实是N-1次),当当前元素与下一元素相同时退出循环。 二、取余操作:令 ...
分类:
其他好文 时间:
2016-07-24 22:19:30
阅读次数:
200
数组本身就是一种数据结构,他是对线性表的一种扩充数组主要用于对矩阵的压缩和表示 一.特殊矩阵的压缩 二.稀疏矩阵的压缩 1.三元组表示法: 三元组表示法下的稀疏矩阵转置 二.稀疏矩阵的链式存储结构:十字链表 建立十字链表 ...
分类:
编程语言 时间:
2016-04-20 23:37:02
阅读次数:
299
#include#include#include#includeusing namespace std;typedef struct student{ int data; struct student*next; struct student *pre;}dnode;dnode...
分类:
其他好文 时间:
2015-10-23 10:04:25
阅读次数:
117
题目描述输入一个链表,反转链表后,输出链表的所有元素。分析:此题学过数据结构的应该会首先想到链表建立时所采用的头插法,即每一个新插入进来的点均插在链表头。代码如下: 1 /* 2 public class ListNode { 3 int val; 4 ListNode next =...
分类:
其他好文 时间:
2015-08-28 00:45:53
阅读次数:
176
#include
#include
typedef struct Node
{
int xishu;
int zhishu;
struct Node *next;
}NoDe;
void Build(NoDe *L){
NoDe *p,*q;
int a,b;
//p=(NoDe*)malloc(sizeof(N...
分类:
其他好文 时间:
2015-05-14 18:43:41
阅读次数:
121