随笔分类 -  C++

c/c++的基础知识点,以及一些相应的使用技术总结
摘要:快速幂 1.快速幂定义 wiki 快速幂也称为平方求幂(exponentiating by squaring) 快速幂时计算一个数的大正整数乘幂的一般方法(对多项式,矩阵也适用) \[ x^n = \begin{cases} x(x^2)^{\frac{n-1}{2}}, & \text {if $ 阅读全文
posted @ 2022-01-08 20:40 dengshuo7412 阅读(265) 评论(0) 推荐(0)
摘要:title: 位图数据结构-位排序算法 date: 2020-08-16 tags: 算法;位排序 位排序算法,一种占用内存小、运行时间快应用于特殊情况的算法 0x01.问题背景 问题描述:需要对磁盘中的文件进行排序,对时间效率要求高,文件中包含千万条记录,每条记录都是7位整数(百万)号码 整数记录 阅读全文
posted @ 2020-08-16 17:07 dengshuo7412 阅读(379) 评论(0) 推荐(0)
摘要:string、int 常见类型之间相互转换 int & string 之间的转换 C++中更多的是使用流对象来实现类型转换 针对流对象 sstream实现 int,float 类型都可以实现 其他的方法 c_str()函数 string.c_str() 可以将string字符串转换成一个指向与str 阅读全文
posted @ 2019-06-09 11:16 dengshuo7412 阅读(2972) 评论(0) 推荐(0)
摘要:问题来源 在编写程序的时候,对数组、“二维数组”的分配的删除掌握的不是很清楚,不能正确的进行定义初始化。 以及在使用vector的时候,如何正确的定义及初始化 注意!!! 尽量使用标准库容器vector而不是使用动态分配数组 动态数组 1.new 数组 2.数组指针,指针数组 注意区分,在定义的过程 阅读全文
posted @ 2019-04-18 11:06 dengshuo7412 阅读(297) 评论(0) 推荐(0)
摘要:传值&传引用 1.传值 是把实参的值赋值给行参 那么对行参的修改,不会影响实参的值 2.传地址 是传值的一种特殊方式,只是他传递的是地址 那么传地址以后,实参和行参都指向同一个对象 3.传引用 真正的以地址的方式传递参数 ,传递以后,行参和实参都是同一个对象,只是他们名字不同而已 对行参的修改将影响 阅读全文
posted @ 2019-03-04 22:08 dengshuo7412 阅读(2039) 评论(0) 推荐(0)
摘要:关于内存地址与字符转换,以及内存运行的底层理解不是很透测 问题来源 1. ASCII码字符总共只有256个字符,ASCII码的每个字符需要一个字节来表示$4 2^{8}=2^{10}= 1K$因此需要1KB的内存 2. 16位Unicode字符,创建一个长度为$2^{16}$的整形数组需要$ 4 2 阅读全文
posted @ 2019-01-16 17:32 dengshuo7412 阅读(13768) 评论(1) 推荐(1)
摘要:目录: "1.问题的来源" "2.关联容器学习" 1.问题来源 面试题:最小的k个树 借助容器来实现,使用红黑树保证删除,插入操作都能在O(logK)实现,STL中的模版直接使用 关于mulitset的迭代器及其定义存在问题 cpp set::key_type v1 //v1 is string s 阅读全文
posted @ 2019-01-05 15:47 dengshuo7412 阅读(182) 评论(0) 推荐(0)
摘要:random seed 1.python 随机选择&生成随机数 使用random模块 random模块是采用Mersenne Twister 梅森旋转算法来计算随机数,是一个确定性算法 2.C++ 需要用到rand()函数和 srand()函数 1.只产生一个随机数,不需要设定的范围 rand()会 阅读全文
posted @ 2019-01-03 15:19 dengshuo7412 阅读(1450) 评论(0) 推荐(0)
摘要:实参VS形参 1.实参 argument 实际参数,在函数调用的时候,传递给函数的参数。实参 按值调用 实际参数可以是变量、常量、表达式以及函数 实际参数必须得有确定的值(赋值、输入等),在函数调用时,把这些值传递给形式参数 2.形参 parameter 形式参数,是在函数定义中的参数。是定义函数名 阅读全文
posted @ 2019-01-02 12:03 dengshuo7412 阅读(1055) 评论(0) 推荐(0)
摘要:C++ I/O navigation: "1.文件输入输出" "2.string流" 1.输入输出 C++语言不直接处理输入输出,而是通过一些标准库中类型。从设备(文件,控制台,内存)中读取数据,向设备中写入数据操作 IO类 iostream 流读写数据 fstream 文件读写数据 sstream 阅读全文
posted @ 2018-12-30 16:20 dengshuo7412 阅读(231) 评论(0) 推荐(0)
摘要:正则表达式 regular expression : 正则表达式就是处理字符串的方法,它是以行为单位来进行字符串的处理行为,正则表达式通过一些特殊符号的辅助,可以让用户轻易达到查找、删除、替换某特定字符串的处理程序。 常见的字符匹配 |常见的字符| 表达的含义| | | | |.| Any char 阅读全文
posted @ 2018-12-13 10:17 dengshuo7412 阅读(170) 评论(0) 推荐(0)
摘要:一起过来排好队,进来挨打 1.Leetcode tag LinkList "109.convert sorted list to binary search tree" 2Leetcode tag Array "386. Lexicographical Numbers" 386. Lexicogra 阅读全文
posted @ 2018-12-09 18:02 dengshuo7412 阅读(335) 评论(0) 推荐(0)
摘要:位运算 数字用二进制表示后的运算 无论是有符号,无符号还是其他各种类型的数。它们之间的转换的基石就是二进制的表达式没有发生改变,变得只是转换的表达式。 1.简单的布尔运算 Boolean algebra 与&,或|,非~,异或^ |与& |0|1| | | | | |0|0|0| |1|0|1| | 阅读全文
posted @ 2018-12-05 11:51 dengshuo7412 阅读(1248) 评论(0) 推荐(0)
摘要:1.exception handling 异常处理 知识点的补充 1.了解抛出异常时发生了什么 throwing raised 2.捕获异常时的情况 catch 3.传递错误对象的意义 (抛出表达式的类型,调用链决定处理那段代码 handler) 异常处理: 1.让一个函数发现了自己无法处理的错误时 阅读全文
posted @ 2018-11-26 14:34 dengshuo7412 阅读(3130) 评论(1) 推荐(0)
摘要:ST算法(Sliding Window):A easy way to slove the substring problems algorithm template to slove substring search problems 这是一个利用哈希思想解决字符串问题,特别是关于子字符串的问题的模 阅读全文
posted @ 2018-11-23 10:52 dengshuo7412 阅读(501) 评论(0) 推荐(0)
摘要:数据结构算法的基本知识 算法一般都可以用递归和循环两个办法来实现 递归的代码较简洁 循环的性能较好 要根据题目的特点合理的选择算法 二维数组上搜索路径 一般使用回溯法(backtracking) 回溯法一般和递归相结合,如果不允许使用递归,可以使用栈来实现递归的过程 最优解问题 这个问题一般是分成多 阅读全文
posted @ 2018-11-19 10:46 dengshuo7412 阅读(136) 评论(0) 推荐(0)
摘要:2018.10.24 解释性语言&编译性语言 1.解释性语言是不需要编译的,程序运行的时候代码会一行一行翻译成机器能够识别的语言。语言每执行一次就需要逐行翻译一次,效率比较低2.编译性语言在程序被执行之前,需要一个专门的编译过程,生成机器语言文件,exe文件,运行时候不再需要翻译,执行运行执行后的结 阅读全文
posted @ 2018-11-13 21:45 dengshuo7412 阅读(220) 评论(0) 推荐(0)
摘要:哈希表 1.定义:利用散列技术(建立一个对应关系)将记录存储在一块连续的存储空间中,这块连续存储空间称为散列表或者哈希表。 2.性质: 散列技术即是一种存储方法,也是一种查找方法。 数据元素之间没有逻辑关系,不能像其他数据结构利用连线图表示出来。 存储位置和关键字相关联。是一个面向查找的数据存储结构 阅读全文
posted @ 2018-10-17 11:10 dengshuo7412 阅读(1465) 评论(0) 推荐(0)
摘要:数组数据结构的基本概念 1.数组的空间效率不是很高,空闲区域没有充分利用。创建数组必须根据大小分配内存,即使数组中只存储一个元素,也要为所有的数据预先分配内存。 2.数组的时间效率非常高。可以在O(1)读取任何元素。利用数组的下标与数组value构成一个键值的哈希表。实现快速查找 目录 "1.数组和 阅读全文
posted @ 2018-10-15 10:47 dengshuo7412 阅读(300) 评论(0) 推荐(0)
摘要:二叉树基本数据结构 目录 "相同树" "二叉树的层序遍历" "数组转换为二分树" "树的非递归遍历" "树的非递归遍历version2" "不同的二叉树" "实现不同的二叉树" "高度平衡二叉树" "二叉查找树中查找" "根据前序和中序遍历生成二叉树" "根据中序个后序遍历生成二叉树" "将二叉树变 阅读全文
posted @ 2018-10-11 11:30 dengshuo7412 阅读(274) 评论(0) 推荐(0)