- 博客(139)
- 收藏
- 关注

原创 C++ 快读 以及 快写 模板
2.快写模板3.实际应用题目链接题目描述输入描述:输出描述:示例1输入25 21 4 2 3 43 33 2 1输出23普通但可AC代码2022.7.8 整理欢迎交流、讨论、指正~不正确、不理解之处欢迎评论留言~
2022-07-08 13:33:45
5777
3

原创 C++语言程序设计(第5版 郑莉、董渊)学习笔记
C++程序整理笔记后续复习使用前三章 大多关于C后面的 才是真正C++精华软件:各种程序+文档资料指令:计算机可识别的命令(所有指令的集合叫做指令系统)汇编语言:将机器语言映射为一些可被读懂的助记符 eg:ADD高级语言:屏蔽机器细节,采用有一定含义的数据命名和执行语句面向对象的语言:为了能更直接地描述客观世界中存在的事物面向对象的编程语言将客观事物看作具有属性和行为(或称服务)的对象,通过抽象找出同一类对象的共同属性和行为,形成类。①自顶向下、逐步求精;②程序结构按功能划分为若干个基本模块
2022-07-02 08:01:18
8372
16

原创 归并排序详解(递归与非递归(迭代))
归并排序详解1.前言2.内容递归非递归(迭代版本)3.总结4.更新日志1.前言归并排序是基于比较的排序中,最好的三个之一(其余两个为:堆排序、快速排序)时间复杂度为 O(N*logN)空间复杂度为 O(N)2.内容递归void Partition(vector <int>& c, int L, int M, int R) //归并排序的合并过程{ //开辟一个额外数组,存储排序后的数组 vector <int> ex(R - L + 1); /
2022-05-15 16:18:13
600

原创 素数筛法(传统普通、朴素筛法、埃式筛法、欧拉筛法(线性筛))
素数筛法(普通、朴素筛法、埃式筛法、欧拉筛法)1.题目2.分析3.代码传统普通朴素筛法埃式筛法欧拉筛法(线性筛)4.总结5.更新日志1.题目题目链接题目描述**输入一个自然数N,按质数定义从小到大输出1~N(包含N)中所有的质数**输入描述:输入一行,包含一个整数N1 <= N <= 2000输出描述:输出一行,包含所有的质数,按照从小到大的顺序输出,以空格隔开。示例1输入20输出2 3 5 7 11 13 17 192.分析筛掉合数剩下的即为素数,下面用四种方
2022-05-08 18:36:31
2210
3

原创 堆排序算法
堆排序算法1.前言2.内容1.简单实现2.用对数器检验3.总结4.更新日志1.前言堆排序是时间复杂度 比 冒泡、选择、插入 都小的排序算法时间复杂度为0(N2)在学习堆排序,之前首先应当对二叉树有基本的了解,明白完全二叉树、大根堆等基本定义,这样有助于理解堆排序。初学补充:1.完全二叉树定义: 一棵深度为k的有n个结点的二叉树,对树中的结点按从上至下、从左到右的顺序进行编号,如果编号为i(1≤i≤n)的结点与满二叉树中编号为i的结点在二叉树中的位置相同,则这棵二叉树称为完全二叉树。如下图:
2022-04-28 18:55:10
627

原创 初级算法学习
初级算法十大经典排序算法1.冒泡排序2.选择排序3.插入排序4.希尔排序5.归并排序6.快速排序7.堆排序8.计数排序9.桶排序10.基数排序
2022-02-20 18:37:01
872
原创 NC20128 不重复数字
给出N个数,要求把其中重复的去掉,只保留第一次出现的数。例如,给出的数为1 2 18 3 3 19 2 3 6 5 4,其中2和3有重复,去除后的结果为1 2 18 3 19 6 5 4。
2024-03-31 21:12:42
323
原创 88. 合并两个有序数组
给你两个按排列的整数数组nums1和nums2,另有两个整数m和n,分别表示nums1和nums2中的元素数目。请你nums2到nums1中,使合并后的数组同样按排列。最终,合并后数组不应由函数返回,而是存储在数组nums1中。为了应对这种情况,nums1的初始长度为m + n,其中前m个元素表示应合并的元素,后n个元素为0,应忽略。nums2的长度为n。
2024-03-30 14:23:04
297
原创 NC269391 炸鸡块哥哥的粉丝题
智乃作为炸鸡块哥哥的粉丝,做了一场炸鸡块哥哥的比赛后得出一个结论,那就是炸鸡块哥哥的话,最多只能信半句。现在给你一个长度为N的字符串S,请输出前个字符,表示只能相信半句话。例如当炸鸡块哥哥说:“这是二分”,只能相信“这是”。
2024-03-30 10:06:28
260
原创 王道数据结构 第1章 绪论(习题精选)
☀️时间复杂度1. 循环中变量参与循环条件的判断思路:找出基本运算执行次数与问题规模的关系,解得最高幂次为,则算法时间复杂度为。i = i * 2;y = y + 1;例1:设基本运算执行次数为,则,解得,则例2:设基本运算执行次数为,则(此处的y是指最终y的值,由于初始时y=5,所以最终y的值减去5才是基本运算的执行次数)。那么化简可得,则2.循环中变量与循环条件无关思路:数学归纳法 或 直接累计循环次数。(如1.2.3中的16)🌷递归:公式递推,即。
2024-03-15 17:44:59
1506
原创 C++程序设计期末考试复习试题及解析 3(自用~)
虚函数的重写(覆盖):派生类中有一个跟基类完全相同的虚函数(即派生类虚函数与基类虚函数的返回值类型、函数名字、参数列表完全相同),称子类的虚函数重写了基类的虚函数。
2022-11-19 21:31:42
3798
2
原创 C语言实现复数的几个基本操作(四则运算,初始化,销毁...)
1.复数的初始化2.销毁复数3.获取复数的实部、虚部4.复数的四则运算5.如何正确地表示运算过程并输出结果运用指针,修改结构体复数的实部、虚部,并且将exist_r 、exist_i 赋为true,表示实部、虚部未被销毁。
2022-09-08 21:46:22
3241
原创 [洛谷] P1097 [NOIP2007 提高组] 统计数字
掌握必要的stl容器还是很有必要的~map、set容器的遍历及其它知识点,请点击链接查看。
2022-08-27 10:10:28
1023
原创 [洛谷] P1143 进制转换
补充:按位取反规则1.所有正整数的按位取反是其本身 + 1的负数2.所有负整数的按位取反是其本身其绝对值 - 1 eg: ~(-1) == 03.零的按位取反是 - 1(0在数学界既不是正数也不是负数)
2022-08-26 23:06:42
598
原创 P2192 HXY玩卡片[洛谷]
题目链接题目描述HXY得到了一些卡片,这些卡片上标有数字 000 或 555 。现在她可以选择其中一些卡片排成一列,使得排出的一列数字组成的数最大,且满足被 909090 整除这个条件。同时,这个数必须为合法的某个非负整数,即不能含有前导 000 ,即 000 不能作为这串数的首位。但是特殊地,整数 000 满足条件。如果不能排出这样的数,输出“−1-1−1”。输入格式第一行,卡片的个数 nnn 。第二行,分别给出了这 nnn 个数(只能为数字 555 或 000 )。输出格式仅一行,如果可以排出,则输出这
2022-08-07 16:35:06
326
原创 C++ map容器的简单用法
整理map的一些用法,欢迎指正~有具体示例解释概念,欢迎品尝~map是STL的关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据 处理能力 【key-value 】map内部是一颗红黑树(一 种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能查询(log(N))、插入、删除、更改、遍历头文件: < map >示例2.增加[插入]区别:insert不可覆盖已经插入的数据,而数组方法可以示例:方法1: count
2022-08-07 16:20:19
1487
空空如也
python remove 去除重复元素 列表内存自动管理
2022-10-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人