-
【数据结构】二、线性表
所属栏目:[安全] 日期:2021-04-01 热度:183
2.1. 定义与特点 定义 ? 具有相同数据类型的 (n(ngeq0)) 个数据元素的有限序列。 (n) 是表长,当 (n=0) 时该线性表是一个空表。若用 (L) 表示线性表,一般表示为: [ L=(a_1,a_2,...,a_i,a_{i+1},a_n) ] 特点 元素个数有限 元素具有逻辑上的顺序[详细]
-
【数据结构】树状数组
所属栏目:[安全] 日期:2021-04-01 热度:123
树状数组 ta的本质是利用二进制的性质维护一组数据 最常用的操作就是求前缀和 int lowbit( int x){ return x(- x); /* 通过补码,清空高位1,只留下最后一个1 */ } ? void add( int x, int val){ while (x= n){ c[x] += val; x += lowbit(x); } /* 更新时,[详细]
-
【数据结构】5.1 顺序表的查找以及二分查找的实现
所属栏目:[安全] 日期:2021-04-01 热度:73
类的结构如下: class StaticSearchTable { private : int * data; int data_number; bool search_seq( int loc, int key); void select_sort(); bool flag; // 区分是否为顺序表 public : StaticSearchTable( int n, bool flag); int Search_Seq( int key);[详细]
-
『数据结构』莫队、带修莫队、树上莫队详解
所属栏目:[安全] 日期:2021-04-01 热度:154
普通莫队 简介 莫队是一种基于分块思想的离线算法,用于解决区间问题,适用范围如下: 只有询问没有修改。 允许离线。 在已知询问 ([l,r]) 答案的情况下可以 (O(1)) 得到 ([l,r?1],[l,r+1],[l?1,r],[l+1,r]) 的答案。 满足以上三个条件就可以在 (O(n[详细]
-
『数据结构』树状数组
所属栏目:[安全] 日期:2021-04-01 热度:106
树状数组的问题模型: 现在有一个这样的问题: 有一个数组 (a) ,下标从 (0) 到 (n-1) ,现在你要进行 (w) 次修改, (q) 次查询。 修改是修改数组中某一个元素的值; 查询是查询数组中任意一个区间的和, (w+q500000) 。 这个问题很普遍,首先分[详细]
-
《数据结构》第一章:绪论
所属栏目:[安全] 日期:2021-03-31 热度:54
第一章:绪论 1.1 数据结构的基本概念 数据:是信息的载体,是描述客观事物属性的数、字符以及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。 数据元素:是数据的基本单位,一个数据元素可由若干个数据项组成,数据项是构成数据元素的不可分割[详细]
-
Codeforces 999D Equalize the Remainders 【数据结构】【贪心】
所属栏目:[安全] 日期:2021-03-31 热度:100
考场的时候想到的n*m做法tle了,正解是O(n+m) 首先想到一个性质是不管a[i],a[j]相差多少,只要a[i],a[j]同余,那想让他们increase后%m得到另一个余数,那他们需要increse的次数是相等的。 所以我们想到把n个数按%m从0到m-1分成m类。这样就能贪心了,因为如[详细]
-
【数据结构】4. 树与二叉树
所属栏目:[安全] 日期:2021-03-31 热度:92
目录 4.1 树的基本概念 4.1.1 树的定义 4.1.2 基本术语 4.1.3 树的性质 4.2 二叉树的概念 4.2.1 二叉树的定义及其主要特性 (1)二叉树的定义 (2)几个特殊的二叉树 (3)二叉树的性质 4.2.2 二叉树的存储结构 (1)顺序存储结构 (2)链式存储结构 4.3 二[详细]
-
【数据结构】 线性表 的 链式存储结构
所属栏目:[安全] 日期:2021-03-31 热度:155
1 #includestdio.h 2 #includestdlib.h 3 4 typedef struct LinkList { 5 int data; 6 LinkList * next; 7 8 }LinkList,* linklist; 9 // 创建头结点 10 int CreateList(linklist L) { 11 L = (linklist) malloc ( sizeof (LinkList)); 12 if (! L) 13 exit([详细]
-
【数据结构】10分钟教你用栈求解迷宫老鼠问题超详细教程附C++源
所属栏目:[安全] 日期:2021-03-31 热度:88
问题描述 给定一张迷宫地图和一个迷宫入口,然后进入迷宫探索找到一个出口。如下图所示: 该图是一个矩形区域,有一个入口和出口。迷宫内部包含不能穿越的墙壁或者障碍物。这些障碍物沿着行和列放置,与迷宫的边界平行。迷宫的入口在左上角,出口在右下角。[详细]
-
【数据结构】1-3 多项式相加
所属栏目:[安全] 日期:2021-03-31 热度:149
其实这个还是有点问题的,在偶见情况下会打印出0*x,目前无解唔。。。 原理就是借用线性表,然后做运算直接先插入到后面。 然后遍历一下,只要指数相同就合并在前面一个里面,后面的归0(不删除)。 打印的时候加一个判断是否为0的条件就行了。 下面是源码:[详细]
-
【数据结构】1-2 约瑟夫环问题
所属栏目:[安全] 日期:2021-03-31 热度:191
这里放出两种不同的代码,一个是老师给的(较为复杂),还有一个是自己写的。 自己写的: #includeiostream using namespace std; struct Node { int data; // 数据单元 Node *link; // 指向下一个结点 }; class Josephus{ private : Node *head,*current; /[详细]
-
《数据结构》实验一: VC编程工具的灵活使用
所属栏目:[安全] 日期:2021-03-31 热度:181
《数据结构》实验一:VC编程工具的灵活使用 一、实验目的 ???? 复习巩固VC编程环境的使用,以及C++模板设计。 1、回顾并掌握VC单文件结构程序设计过程。 2、回顾并掌握VC多文件工程设计过程 3、掌握VC程序调试过程。 4、回顾C++模板和模板的程序设计。 二、[详细]
-
【数据结构】 第一章 绪论
所属栏目:[安全] 日期:2021-03-31 热度:112
§1.1 什么是数据结构 数据结构是介于数学 计算机软件和计算机硬件三者之间的一门核心课程。 §1.2 基本概念和术语 数据结构通常有下列4种基本结构 ①集合 ②线性结构 ③树形结构 ④图状结构(网状结构) 数据结构是一个二元组: Data Structure = (D,S) D表[详细]
-
【数据结构】顺序栈
所属栏目:[安全] 日期:2021-03-31 热度:183
#include STDIO.H#include STRING.H#include STDLIB.Htypedef struct SeqStack{int length;int top;char *data;}seqstack;seqstack* CreatStack(seqstack *s,int n){s=(seqstack *)malloc(sizeof(seqstack)+n*sizeof(char));if(s==NULL) return NULL;memset([详细]
-
【数据结构】单链表
所属栏目:[安全] 日期:2021-03-31 热度:174
#include stdio.h#include stdlib.h#include STRING.Htypedef struct LinkNode{int date; //数据域struct LinkNode * next;}linkNode;typedef struct Linklist{int length; linkNode *head;}linklist;linklist *Creatlist(){linklist *list;list=(linklist *[详细]
-
《数据结构》实验三: 栈和队列实验
所属栏目:[安全] 日期:2021-03-30 热度:129
《数据结构》实验三:??? 栈和队列实验 一..实验目的 ???? 巩固栈和队列数据结构,学会运用栈和队列。 1.回顾栈和队列的逻辑结构和受限操作特点,栈和队列的物理存储结构和常见操作。 2.学习运用栈和队列的知识来解决实际问题。 3.进一步巩固程序调试方法。[详细]
-
《数据结构》实验四: 字符串和多维数组 实验
所属栏目:[安全] 日期:2021-03-30 热度:89
《数据结构》实验四: ???? 字符串和多维数组?实验 一. . 实验目的 ????? 巩固字符串和多维数组相关知识,学会运用灵活应用。 1. 回顾字符串和多维数组的逻辑结构和存储操作特点,字符和数组的物理存储结构和常见操作。 2. 学习运用字符串和和数组的知识来[详细]
-
《数据结构》实验二: 线性表实验
所属栏目:[安全] 日期:2021-03-30 热度:199
《数据结构》实验二: ????? 线性表实验 一. . 实验目的 ????? 巩固线性表的数据结构,学会线性表的应用。 1. 回顾线性表的逻辑结构,线性表的物理存储结构和常见操作。 2. 学习运用线性表的知识来解决实际问题。 3. 进一步巩固程序调试方法。 4. 进一步巩[详细]
-
算法—选择排序
所属栏目:[安全] 日期:2021-03-19 热度:155
选择排序 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元[详细]
-
算法—希尔排序
所属栏目:[安全] 日期:2021-03-19 热度:182
希尔排序 希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。希尔排序是非稳定排序算法。 希尔排序是基于插入排序的以下两点性质而提出改进方法的: 插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率 但插入排[详细]
-
算法—冒泡排序
所属栏目:[安全] 日期:2021-03-19 热度:121
冒泡排序 冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序(如从大到[详细]
-
算法—插入排序
所属栏目:[安全] 日期:2021-03-19 热度:80
插入排序 插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到 {displaystyle O(1)} {di[详细]
-
数据结构:数组、链表、栈、队列的理解
所属栏目:[安全] 日期:2021-03-19 热度:109
解释定义 数据结构: 数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。再简单描述一下:数据结构就是描述对象间逻辑关系的学科。 如果还是不太清楚下面会举例说明的。 数据存储结构: 简单的讲就是数据在计算机中的存储方式。 常用的数据存储[详细]
-
iptables 添加,删除,查看,修改
所属栏目:[安全] 日期:2021-03-19 热度:62
iptables是linux系统自带的防火墙,功能强大,学习起来需要一段时间,下面是一些习iptables的时候的记录。如果iptables不熟悉的话可以用apf,是一款基于iptables的防火墙,挺好用的。请参考: linux apf 防火墙 安装 配置 一,安装并启动防火墙 [root@linux ~[详细]