- 博客(23)
- 收藏
- 关注
原创 阶段性前端知识总结(二)
1.标签属性属性 标签的附加价值和特性 可以通过设置属性值的方式 让标签的某一方面展示行为发生改变使用HTML制作网页时,如果想让HTML标签提供更多的信息,可以使用HTML标签的属性加以设置。其基本语法格式如下:<标签名 属性1="属性值1" 属性2="属性值2" …> 内容 </标签名>属性的格式和书写1. 标签可以拥有多个属性,必须写在开始标签中,位于标签名后面。2. 属性之间不分先后顺序,标签名与属性、属性与属性之间均以空格分开。3. 任何标签的
2021-10-02 17:58:56
281
转载 CSS属性书写顺序(重点画圈圈!)
建议遵循以下顺序:布局定位属性:display / position / float / clear / visibility / overflow(建议 display 第一个写,毕竟关系到模式)自身属性:width / height / margin / padding / border / background文本属性:color / font / text-decoration / text-align / vertical-align / white- space / break-wor
2021-09-26 08:46:32
195
原创 图的DFS和BFS遍历
DFS深度优先遍历又被称为深度优先搜索 ( Depth First Search, DFS ) 访问策略: 从图中某一起始顶点 v 出发,访问它的任 一邻接顶点 w1;再从 w1 出发,访问与 w1邻接且还没 有访问过的任一顶点 w2;… 如此进行下去,直至到 达所有的邻接顶点都被访问过的顶点。此时,回溯到 上一个被访问的顶点,看它是否还有其它没被访问的 邻接顶点。若有,则访问该邻接顶点,进行与前述类 似的访问;若没有,进一步回溯.深度优先搜索树将节点按照访问顺序打上标记并连接起来就构成深度
2021-07-27 16:11:33
224
原创 图的储存详解
图的储存1.邻接矩阵设图G(V,E)的顶点标号为0,1,……n-1,则令二维数组G[n][n]的两维分别表示图的顶点标号。即如果G[i][j]等于1,指顶点i和顶点j之间有边,如果G[i][j]等于0,指顶点i和顶点j之间没有边,如果为有权图,则令G[i][j]存放边权。但如果题目中顶点数过大,可能会造成内存超限。无向图的邻接矩阵对称,可压缩存储,有n个顶点的无向图需存储空间为n(n+1)/2;有向图邻接矩阵不一定对称,有n个顶点的有向图需存储空间为n²邻接矩阵可用于求图中各点的度。
2021-07-25 20:35:48
687
原创 线索二叉树代码
概念及作用:二叉树的二叉链表存储结构中有很多空链接。设 二叉树有n个结点,则其对应的二叉链表存储结 构共有2n个链接域。这些链接域只有n-1个是有 用的指针,其余n+1个都是空链接。这是二叉链 表存储结构的固有问题。 可以通过巧妙的设计更有效地利用空链接所占内存空间. Perlis AJ和Thornton C设计了一种巧 妙地使用空链接的方法,使用连向树的其它部分的线索(Thread)代替空链接,用于辅助二叉树 的遍历,即线索二叉树。中序线索二叉树节点结构typedef ch
2021-07-22 17:30:05
186
原创 树和森林代码
树的存储结构1.简单的顺序储存不能正确的表示节点之间的逻辑关系。2.树的链接储存有多种表示方法(1)双亲表示法在树的节点添加parent指向父亲。特点 1.简单 2.空间需求小,利用率高 3.双亲链接提供了“向上”访问的能力,但不能 利用根作为起始点,很难确定一个结点是否为 叶结点,也很难求结点的子结点,且不易实现 遍历操作(遍历至少需要叶结点指针集合作为 起始点,甚至全部结点的集合)。 因此,实现时多采用结构体数组。其静态链表 形式,即为father数组表示法。(2).
2021-07-22 14:37:20
253
原创 哈夫曼树的建立
哈夫曼树的建立1.多次遍历,找到未访问的最小元素。#include <iostream>#include <cstdio>#include <cstring>using namespace std ;const int MAX = 1015 ;typedef struct { char data ; int weight ; int parent ; int lchild ; int rchild ;}HTNo
2021-07-21 09:30:49
584
原创 并查集代码
find( )函数实现int find(int x) //查找x的教主{ while(pre[x] != x) //如果x的上级不是自己(则说明找到的人不是教主) x = pre[x]; //x继续找他的上级,直到找到教主为止 return x; //教主驾到~~~}join( )函数实现void join(int x,int y) //我想让虚竹和周芷若做朋友{ int fx=find(x), fy=
2021-07-20 10:33:07
372
原创 二叉树的其他拓展
判断是否为完全二叉树bool check(BiTree T) { if (T == NULL) return false; queue<BiTree> Q; Q.push(T); while (!Q.empty()) { BiTree p = Q.front(); Q.pop(); if (p->left &
2021-07-20 09:58:24
97
原创 堆相关代码
1.概念在一棵完全二叉树中,如果任意结点的关键词 大于等于(小于等于)它的两个孩子结点的关键词,那么被 称为极大堆(极小堆)。简称堆。 2.相关操作上浮//h[i]为储存堆(完全二叉树)的数组。用到了完全二叉树的性质。inline void up(int x) // h[x]上浮{int i = x ;while( i > 1 && h[ i ] > h[ i / 2 ] ) { swap( h[ i ], h[ i / 2 ] ); i
2021-07-20 08:48:57
169
原创 二叉树的存储和遍历
一.存储方式1.顺序存储用数组来存储树,数组元素的下标对应层次遍历中元素的标号。注意:顺序存储一般只用于完全二叉树,否则空间利用率过低。2.链式存储typedef struct BiTNode{ TELemType data; struct BiTNode*lchild,*rchild;}BiTNode,*BiTree; 二.二叉树的遍历1.先根遍历(1)递归实现void PreOrderTraverse(BiTree T){ if(T==NULL) r.
2021-07-19 18:04:19
258
原创 二叉树的性质
特殊二叉树1.斜树所有节点都只有左子树的二叉树为左斜树,所有节点都只有右子树的二叉树为右斜树,这两者统称为斜树。2.满二叉树在一颗二叉树中,如果所有分支节点都存在左子树和右子树,而且所有叶子都在同一层上,称位满二叉树。3.完全二叉树一棵深度为k的有n个结点的二叉树,对树中的结点按从上至下、从左到右的顺序进行编号,如果编号为i(1≤i≤n)的结点与满二叉树中编号为i的结点在二叉树中的位置相同,则这棵二叉树称为完全二叉树。完全二叉树的性质:1.叶子节点只能出现在下两层
2021-07-19 12:44:55
217
原创 KMP算法匹配
next数组的求解void get_next(char *key,int*next){ int i,k; i=0; k=-1; next[0]=-1; while(i<strlen(key)-1){//因为后面是++i后再赋值给next数组next值; if(k==-1||next[i]==next[k]){ ++i;++k; next[i]=k; }else{ k=next[k]; } }}next数组的作用1.next[i]的值表示下
2021-07-17 15:46:32
97
原创 表达式计算
将中缀表达式转为后缀表达式1.从左到右进行遍历2.运算数,直接输出.3.左括号,直接压入堆栈,(括号是最高优先级,无需比较)(入栈后优先级降到最低,确保其他符号正常入栈)4.右括号,(意味着括号已结束)不断弹出栈顶运算符并输出直到遇到左括号(弹出但不输出)5.运算符,将该运算符与栈顶运算符进行比较,如果优先级高于栈顶运算符则压入堆栈(该部分运算还不能进行),如果优先级低于等于栈顶运算符则将栈顶运算符弹出并输出,然后比较新的栈顶运算符.(低于弹出意味着前面部分可以运算,先输出的一定是高优先
2021-07-17 11:28:38
230
原创 双栈共享空间
使用前提:当两个栈元素类型完全相同且空间需求相反时,可以使用这种技巧来节省空间。代码实现://双栈共享空间typedef struct { int data[MAXSIZE];//双栈共享数组; int top1; int top2; }sqdoubleStack; //插入元素 void Push(sqdoubleStack*s,int num,int stacknumber){ if(top1+1==top2) return ; if(stacknumber==1)
2021-07-16 16:39:46
304
原创 静态链表的实现及优缺点
静态链表 优点 1.在插入和删除操作肘,只需要修改游标,不需要移动元素,从而改进了在顺序存储结构中的插入和删 除操作需要移动大量元素的缺点 缺点 没有解决连续存储分配(数组)带来的表长难以确定的问题。失去了顺序存储结构随机存取的特性。动态链表的优缺点 优点 插入删除速度快 内存利用率高,不会浪费内存 大小没有固定,拓展很灵活。 缺点 不能随机查找,必须从第一个开始遍历,查找效率低...
2021-07-16 11:48:50
1863
1
原创 数据结构荣誉课第五次上机实验
7-1 图的深度优先搜索I (100 分)无向图 G 有 n 个顶点和 m 条边。求图G的深度优先搜索树(森林)以及每个顶点的发现时间和完成时间。每个连通分量从编号最小的结点开始搜索,邻接顶点选择顺序遵循边的输入顺序。在搜索过程中,第一次遇到一个结点,称该结点被发现;一个结点的所有邻接结点都搜索完,该结点的搜索被完成。深度优先搜索维护一个时钟,时钟从0开始计数,结点被搜索发现或完成时,时钟计数增1,然后为当前结点盖上时间戳。一个结点被搜索发现和完成的时间戳分别称为该结点的发现时间和完成时间输入格
2021-06-06 14:37:54
255
2
原创 2021-05-26
7-1 连通分量 (100 分)无向图 G 有 n 个顶点和 m 条边。求 G 的连通分量的数目。输入格式:第1行,2个整数n和m,用空格分隔,分别表示顶点数和边数, 1≤n≤50000, 1≤m≤100000.第2到m+1行,每行两个整数u和v,用空格分隔,表示顶点u到顶点v有一条边,u和v是顶点编号,1≤u,v≤n.输出格式:1行,1个整数,表示所求连通分量的数目。输入样例:在这里给出一组输入。例如:6 51 31 22 34 55 6输出样例:
2021-05-28 14:50:21
337
原创 2021-05-23
JLU数据结构荣誉课——第三次实验7-1 二叉树最长路径 (100 分)给定一棵二叉树T,求T中的最长路径的长度,并输出此路径上各结点的值。若有多条最长路径,输出最右侧的那条。输入格式:第1行,1个整数n,表示二叉树有n个结点, 1≤n≤100000.第2行,2n+1个整数,用空格分隔,表示T的扩展先根序列, -1表示空指针,结点用编号1到n表示。输出格式:第1行,1个整数length,length表示T中的最长路径的长度。第2行,length+1个整数,用空格分...
2021-05-23 21:55:41
196
原创 2021-05-16
JLU数据结构荣誉课——第二次实验7-1 数列查询 (100 分)已知数列的通项公式为: f(n) = f(n-1)*11/10,...
2021-05-16 21:27:40
219
原创 2021-05-16
JLU数据结构荣誉课———第一次实验一.7-1 重复计数 (100 分)在一个有限的正整数序列中,有些数会多次重复出现。请你统计每个数的出现次数,然后按数字在序列中第一次出现的位置顺序输出数及其次数。 作者 谷方明 ...
2021-05-16 14:44:40
344
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅