Data Structures & Algorithms
从0到1,记录了小卓与AC之间的爱恨纠缠,有做不出题的苦恼,有AC之后的鼓掌,加油我们可以!
卓律涤
朝闻道
展开
-
<<数据结构与算法>>---笔记(7) ---广义表和树(待排版)
什么是数组?数组: 1 ) 按照一定格式排列起来的2 ) 具有 相同类型 的数据元素的集合一维数组:.特点一为n个变量连续分配存储空间(栗子int a[5])特点二所有的变量数据类型必须相同特点三 所有变量所占的字节大小必须相等 连续分配类型相同大小相同...原创 2022-04-30 07:51:30 · 173 阅读 · 0 评论 -
<<数据结构与算法>>---笔记(6) ---串
串: 的内容是受限制的 数据元素只能是字符串: 串是由零个或者多个任意字符组成的有限序列子串: 串中任意个连续字符组成的子序列称为该串的子串主串: 包含子串的串相应的称为主串字符位置: 字符在序列中的序号 为该字符在串中的位置 串相等: 当且仅当两个串的长度相等 且 各个对应位置上的字符都相同 符合以上条件的 则 两个串相等所有空串都相等串的应用: 计算机上的非数值处理的对象大部分是 字符串数据,例如:文字编辑, 符号处理, 各种信息处理系统等等存储结构是逻辑结构的映像.原创 2022-04-27 07:53:54 · 179 阅读 · 0 评论 -
<<数据结构与算法>>---笔记(5) ---栈的递归部分与队列(待排版)
递归问题:用分治法来求解注:分治法: 对于一个较为复杂的问题, 能够分解成几个相对简且解法相同或则和类似的子问题来求解递归问题必备的三个条件:1 ) 能将一个问题转变成一个新的问题, 而新问题与原问题的解法相同或类同, 不同的仅仅是处理的对象,且这些处理对象是变化有规律的2 ) 可以通过上述转化而使问题简化3 ) 必须有一个明确的递归边界 也可以叫做递归出口递归的定义:1 ) 若一个对象部分地包含它自己, 或用它自己给自己定义, 则称这个对象使递归的2 ) 若一个过程直接或者间接地调用自己,原创 2022-04-26 20:24:26 · 695 阅读 · 0 评论 -
洛谷:P1177 【模板】快速排序---(7)
别问 问就是 背就完了 敲100遍 还不会来打我!!!!#include <iostream>using namespace std;const int maxN = 1e5 + 5;int arry[maxN];void QuickSort(int arry[], L, int R) { int i = L; int j = R; int pivot = arry[(L+R) / 2]; while (i <= j) { while (arr..原创 2022-03-07 21:39:54 · 181 阅读 · 0 评论 -
洛谷:P5728 【深基5.例5】旗鼓相当的对手---(6)
本题耗时(4h42min+) ---- 这道题告诉我们定义变量一定要初始化 尤其是数组两个地方卡了好久1. 每个人可以和多个人比较2. 数组的初始化 初始化 初始化 ~!!!!!!!!!!经过和 wjx兄弟的讨论优化 代码如下:#include <iostream>#include <cmath>using namespace std;int main(){ int N = 0; // 同学数 int i = 0; int...原创 2022-03-07 16:58:15 · 786 阅读 · 1 评论 -
<<数据结构与算法>>---笔记(4) --- 单链表基本操作的实现
1) 取值--- 取单链表中第 i 个元素的内容顺序表里如何找到第i个元素?L-> elem[i-1]算法思路: 分别取出表中第 3 个元素和 第 15 个元素链表是顺序存取结构 不是随机存储结构2) 查找 1. 按值查找: 根据指定数据获取该数据所在的位置 (该数据的地址) 算法步骤: ...原创 2022-03-06 18:45:58 · 674 阅读 · 0 评论 -
<<数据结构与算法>>---笔记(3)---线性表的链式表示
复习上一章: 顺序表的特点: 以物理位置相邻表示逻辑关系 顺序表的优点: 任一元素均可随机存取 顺序表的缺点: 进行插入和删除操作时, 需移动大量的元素. 存储空间不灵活顺序表的特点是什么?1) 利用数据元素的存储位置表示线性表中相邻数据元素之间的前后关系, 即线性表的逻辑结构与存储结构一致2) 在访问线性表时, 可以快速计算出任何一个数据元素的存储地址. 因此可以粗略地认为, 访问每个元素所花时间相等 这种存取元素的...原创 2022-03-04 11:04:04 · 756 阅读 · 0 评论 -
<<数据结构与算法>>---笔记(2) --- 线性表顺序表示
上一章总结:什么是线性表?(或者说线性表的定义是什么?)线性表 是具有相同特性的数据元素的一个有限序列同一线性表中的元素必定具有相同特性, 数据元素间的关系是线性关系线性表的逻辑特征是什么?1.在非空的线性表, 有且仅有一个开始结点a1, 它没有直接前趋, 而仅有一个直接后继 a22. 有且仅有一个终端结点 an ,他没有直接后继, 而仅有一个直接前趋a n-13. 其余的内部结点 ai( 2<=i<=n...原创 2022-03-02 16:24:39 · 343 阅读 · 0 评论 -
<<数据结构与算法>>---笔记(1) --- 绪论
程序 = 数据结构 + 算法操作对象 与 操作对象之间的关系 叫做数据结构研究的主要是计算方法原创 2022-02-26 18:01:57 · 1274 阅读 · 0 评论 -
洛谷:P5736 【深基7.例2】质数筛---(5)
本题耗时(21分钟)小卓同学 在 对 小于2的数 忘记加特殊判断了 然后卡了一下 之后就是在琢磨能不能有更优化的解法话不多说 直接上代码吧#include <iostream>using namespace std;int main(){ int n = 0; int a[101]; int i = 0; int j = 0; cin >> n; for (i=0; i<n; i++) { cin >> a[i];原创 2022-02-26 16:36:15 · 408 阅读 · 0 评论 -
质数筛法的总结
大类分三类 一: 试除法二:埃式筛法(这个最重要 做题一般用这个即可)三:欧拉筛法一:试除法(分两类)1.挨个遍历#include <iostream>using namespace std;int main(){ int N = 0; //区间右边 int cnt = 0;; // 统计有几个质数 cin >> N; for (int i=2; i<=N; i++) { int flag = 0; //判断用的..原创 2022-02-25 14:26:02 · 309 阅读 · 0 评论 -
学习C阶段成长的点滴
一.代码质量问题 ---------" 摘录自林锐博士的著作" 这本书每个月复习一次1)).用 #include <stdio.h> 格式引用标准库的头文件(编译器将从标准库目录开始搜索) #include "stdio.h" 格式来引用非标准库的头文件(编译器将从用户的工作目录开始搜索)2)).不提倡食用全局变量3)).早期的编程语言Basic, Fortran是没有头文件的概念头文件的作用 (1.通过头文件来调用库功能,同时很多情况下,源代码不准向用...原创 2021-10-06 21:44:29 · 203 阅读 · 0 评论 -
#include <string>与#include <cstring>的区别
小卓同学产生这个疑惑,是因为在做题的时候发现有的大佬的题解写的是前者,有的则是后者. 我便咨询了一下我的老师...以下是我对二者的理解 如有错误 请学长学姐们 不吝赐教 谢谢!1.string是C++中特有的类 但是在C++中头文件#include <string> 与#include <string> 在使用中调用函数在功能上基本一致 (推荐使用)2.cstring 可以理解为是 C语言库中 #include <string.h>的替换,为了满足某些程序员.原创 2022-02-19 16:28:48 · 4931 阅读 · 0 评论 -
洛谷:P1217 [USACO1.5]回文质数 Prime Palindromes---(4)
本题耗时(5h32min+)这道题属实让小卓同学很难受,在两位大佬的帮助下最后才AC了doge,感谢fcz和ysj两位好兄弟注意点:第一: 应该按照提示信息那样,先判断回文再判断素数(小卓第一次就是反过来,结果直接 44分)第二: 题目给的范围是 1e+08 但是实际出现的最后一个答案是 9989899(这个结果通过打表法得出的 是fcz兄弟指点小卓同学的 ) 也就是说会出现浪费多余的时间(就是这个地方 卡小卓我了5个小时哦!!!!! 因为我不想按照提示那个方法去处理 就想着自己的思路去解决原创 2022-02-15 17:43:03 · 361 阅读 · 0 评论 -
洛谷:P5723 【深基4.例13】质数口袋 ---(3)
本题目耗时(35min) 由衷的希望大佬们能给予小卓建议和修改哦~~风里雨里 我的心里 期待和大佬们一起学习 本题小卓同学感觉有两个需要注意的地方吧(说白了就是小卓本拙!!!):第一个就是关于质数的判断 // 这个是个通用知识点哦 我用的是中等的解法 上等的解法说实在 小卓同学现在还不会 doge 希望大佬能指点一二 orz第二个就是判断什么时候会超出L //这个地方卡我了好久哭~~~ 因为我这道题乍一看好简单,就没想动笔演算,然后直接翻车, 主要是什么时候执行判断是小问题哦...原创 2022-02-10 16:51:40 · 780 阅读 · 0 评论 -
做题小帮手---真·随手记
(一)最大公约数和最小公倍数1.什么是最小公倍数以及什么是最大公约数?最小公倍数(Least Common Multiple):两个或多个整数公有的倍数(就是这个两个及以上整数 乘以0以外的整数 产生相同的结果中最小的数值 就是他们的最小公倍数)最大公约数(Greatest Common Divisor): 同样是适用于两者或两者以上的除数(就是两个及以上的整数 除以0以外的整数 且可被整除的数 这些整数中最大的那一个 就是他们的最大公约数)2.如何区分最大公约...原创 2021-11-07 19:56:32 · 622 阅读 · 0 评论 -
洛谷:【深基2.例12】上学迟到 通俗易懂版--- (1)
提供一种通俗易懂的代码吧 虽然略长 但是简单易懂 #include <stdio.h>#include <math.h>int main(){ int H = 0;//小时 int M = 0;//分钟 int s = 0;//距离 int v = 0;//速度 scanf("%d %d", &s, &v); float x =(float)(s)/v+10; float t = ceil(x); //所需时间 ...原创 2022-01-21 15:46:29 · 522 阅读 · 0 评论 -
洛谷:P2669[NOIP2015 普及组] 金币-----(2)
这道题共花费了(51min) 期待大佬们 对小卓同学 代码的指正 在此提前感谢各位大佬咯我先讲述一下小卓自己出现的一些问题吧首先: 就是我看到10的4次方的时候,没有由头的想要使用long int去定义变量,这固然不会出错,但是我们在算法竞赛中,追求的是极简.哪怕到工作当中也应该是,以最优代码为标准随时要求自己.小卓去查询了一下int 的10进制取值范围 int 取值范围的大小中 十进制应该为2147483647。也就是说是 21亿左右都不会爆 其次: 小卓还遇到的疑问就是 那个 之...原创 2022-02-03 16:01:09 · 987 阅读 · 0 评论