随笔分类 -  学习笔记

1
摘要:1.树的遍历 1004 Counting Leaves (30分) 基本的数据结构——树,复习了链式前向星,bfs遍历判断即可 #include <cstdio> #include <cstring> #include <string> #include <algorithm> #include < 阅读全文
posted @ 2021-02-18 10:23 sparkyen 阅读(217) 评论(0) 推荐(0)
摘要:1.Stack 1051 Pop Sequence (25分) 简答的栈模拟题,只要把过程想清楚就能做出来。 扫描到某个元素时候,假如比栈顶元素还大,说明包括其本身的在内的数字都应该入栈。将栈顶元素和序列比对即可,相同则弹栈,继续扫描;否则无法生成满足条件的序列。注意栈满时不能入栈 #include 阅读全文
posted @ 2021-01-17 15:21 sparkyen 阅读(228) 评论(0) 推荐(0)
摘要:考虑到PAT甲级考试和开学后的XCPC比赛,决定寒假把PAT (Advanced Level) Practice刷完,进度条会在这篇博客下更新。由于主要以记录为主,大体上不会像单篇题解那么详细,但是对问题的思考,代码的简洁性、可读性还是有保障的,欢迎看到的小伙伴和我讨论 2021.1.10 1001 阅读全文
posted @ 2021-01-10 12:50 sparkyen 阅读(457) 评论(0) 推荐(0)
摘要:set是STL 中一种标准关联容器。它底层使用平衡的搜索树——红黑树实现,插入删除操作时仅仅需要指针操作节点即可完成,不涉及到内存移动和拷贝,所以效率比较高。 set,顾名思义是 “集合” 的意思,在 set 中元素都是唯一的,而且默认情况下会对元素自动进行升序排列,支持集合的交 (set_inte 阅读全文
posted @ 2019-08-13 10:11 sparkyen 阅读(946) 评论(0) 推荐(0)
摘要:位运算符有:&(按位与)、|(按位或)、^(按位异或)、~ (按位取反)。优先级从高到低,依次为~、&、^、|1. 按位与操作 0&0=0; 0&1=0; 1&0=0; 1&1=1(有0则0) 例子:10&9: 0000 1010 & 0000 1001 = 0000 1000 = 8负数按补码形式 阅读全文
posted @ 2019-07-30 15:44 sparkyen 阅读(2332) 评论(0) 推荐(1)
摘要:int heap[MAX_N], sz = 0; void push(int x) { int i = sz++; while (i>0) { int p = (i-1)/2; i f(heap(p)<=x) break; heap[i] = heap[p]; i = p; } heap[i] = 阅读全文
posted @ 2019-06-27 08:28 sparkyen 阅读(201) 评论(0) 推荐(1)
摘要:1.插入排序 void insert_sort(int a[], int n) { for (int i = 1; i < n; i++) { int temp = a[i], j = i-1; for (int j = i - 1; a[j]>temp&&j>=0; j--) a[j+1] = a 阅读全文
posted @ 2019-06-25 20:02 sparkyen 阅读(255) 评论(0) 推荐(1)
摘要: 阅读全文
posted @ 2019-05-11 11:06 sparkyen 阅读(154) 评论(0) 推荐(0)
摘要:1.求二叉树中叶子节点的个数(并打印) 设该树中的叶子数为n0个.该树中的总结点数为n个,则有: n=n0+n1+n2+…+nK (1) n-1=0*n0+1*n1+2*n2+…+K*nK (2) 联立(1)(2)方程组可得:叶子数为:n0=1+0*n1+1*n2+2*n3+...+(K-1)*nK 阅读全文
posted @ 2019-05-07 14:13 sparkyen 阅读(578) 评论(0) 推荐(1)
摘要:二叉搜索树是能够高效进行如下操作的数据结构: #插入一个数值 #查询是否包含某个数值 #删除某个数值 二叉搜索树能够高效地管理数的集合。 其上的所有节点,都满足左子树上的所有节点都比自己的小,而右子树上的所有节点都比自己大的这一条件 下面是二叉搜索树的一种实现方法 struct node { int 阅读全文
posted @ 2019-05-06 22:16 sparkyen 阅读(203) 评论(0) 推荐(2)
摘要:二叉树是每个节点最多有两个子树的树结构,遍历方法有深度优先(包括:先序、中序、后序遍历)和宽度优先(层序遍历),层序遍历通过队列可以实现。 这里主要介绍深度优先遍历的方法以及其中栈的应用,帮助理解二叉树的结构、递归和非递归中栈的应用。 中序遍历:左子树 > 根结点 > 右子树(先访问左子树,再访问根 阅读全文
posted @ 2019-05-05 22:02 sparkyen 阅读(257) 评论(0) 推荐(1)
摘要:这里顺序栈和链栈的基本操作和差别在之前的线性表操作中是一样的,目前栈对我而言在实际使用中使用哪一种差别并没有很大,顺序栈用起来会方便一点 顺序栈 >>ADT: typedef struct { DataType data[StackSize]; int top;//栈顶位置,栈顶元素在数组中的下标 阅读全文
posted @ 2019-04-01 22:25 sparkyen 阅读(1116) 评论(0) 推荐(0)
摘要:可能目前对我来说循环链表和双链表对我来说用的也不多,也有点小复杂,这里就简单总结一下 双链表 >>ADT: typedef struct DulNode { DataType data; struct DulNode *prior, *next; }DulNode; >>插入核心操作 s = (Du 阅读全文
posted @ 2019-04-01 20:06 sparkyen 阅读(301) 评论(0) 推荐(0)
摘要:首先指出我在学习过程中纠结的几个点: 1.初始化单链表的时候为什么要用二级指针? 反正那会也没学长指导,状态还差了点,但搜了很久后还是想明白了。 说白了你可以选择在定义头节点L的时候就初始化, 也可以定义了后用二级指针或者一级指针的引用传进函数InitList来初始化 2.为什么会需要头结点? 若头 阅读全文
posted @ 2019-03-31 17:38 sparkyen 阅读(251) 评论(0) 推荐(0)
摘要:这段时间状态非常不好,乱七八糟的事情搞得心烦意乱,得开始静下心了调整状态了,然而大心课被点名了,有点自闭 #include <stdio.h> #define MaxSize 100 typedef int ElemType; typedef struct { ElemType elem[MaxSi 阅读全文
posted @ 2019-03-29 21:20 sparkyen 阅读(222) 评论(0) 推荐(0)
摘要:近期研究设计模式,在程序输出时心血来潮用了c版本的printf,结果就蛋疼了,一直输出是乱码 string s = "中国"; printf("%s" , s);//输出乱码 果断切换成c++版本的cout发现可以正常输出。于是上网找答案,居然惊讶的发现printf输出字符串是针对char *的,换 阅读全文
posted @ 2019-03-17 14:01 sparkyen 阅读(477) 评论(0) 推荐(0)
摘要:1.头文件 #include<bitset> 2.基本操作 bitset<n> b; b有n位,每位都为0. 参数n可以为一个表达式.如bitset<5> b, 则"b"为"00000"; bitset<n> b(unsigned long u); b有n位,并用u赋值; 如果u超过n位,则顶端被截 阅读全文
posted @ 2019-03-17 11:42 sparkyen 阅读(192) 评论(0) 推荐(0)
摘要:to_string函数,这是C++11新增的,使用非常方便,简单查了下:C++11标准增加了全局函数std::to_string 函数原型:string to_string (int val);string to_string (long val);string to_string (long lo 阅读全文
posted @ 2019-03-17 11:27 sparkyen 阅读(676) 评论(0) 推荐(0)
摘要:鉴于以前碰到过很多这样的题目,甚至上次月考核也考了,马上就要考试了,就再重新写一遍,加深印象,但是肯定和库函数有区别,丢失许多细节 1.strlen函数(求字符串长度) int strlen(char *str) { int cnt = 0; while(*str != '\0') { cnt++; 阅读全文
posted @ 2019-03-08 17:14 sparkyen 阅读(353) 评论(0) 推荐(0)
摘要:priority_queue是种一种功能强大的队列,本质是一个堆 1. 头文件是#include<queue> (实际编译过程中要加上#include <vector>) 2. 关于priority_queue中元素的比较 模板申明带3个参数:priority_queue<Type, Contain 阅读全文
posted @ 2019-02-26 12:07 sparkyen 阅读(475) 评论(0) 推荐(0)

1