07 2018 档案
摘要:利用快排思想:先确定一个轴点,然后进行交换使得轴点左边的值比轴点小,轴点右边的值比轴点大,当我们找到轴点位于第N-K个位置的时候说明找到第K大的值。也可以反过来逆序。时间复杂度为O(N). 代码如下:
阅读全文
摘要:范式 什么是范式:简言之就是,数据库设计对数据的存储性能,还有开发人员对数据的操作都有莫大的关系。所以建立科学的,规范的的数据库是需要满足一些规范来优化数据数据存储方式。在关系型数据库中这些规范就可以称为范式。 什么是三大范式: 第一范式:当关系模式R的所有属性都不能在分解为更基本的数据单位时,称R
阅读全文
摘要:1.应用程序处理 (1)A用户启动邮件应用程序,填写收件人邮箱和发送内容,点击“发送”,开始TCP/IP通信; (2)应用程序对发送的内容进行编码处理,这一过程相当于OSI的表示层功能; (3)由A用户所使用的邮件软件决定何时建立通信连接、何时发送数据的管理,这一过程相当于OSI的会话层功能; (4
阅读全文
摘要:1.朋友圈 班上有 N 名学生。其中有些人是朋友,有些则不是。他们的友谊具有是传递性。如果已知 A 是 B 的朋友,B 是 C 的朋友,那么我们可以认为 A 也是 C 的朋友。所谓的朋友圈,是指所有朋友的集合。 给定一个 N * N 的矩阵 M,表示班级中学生之间的朋友关系。如果M[i][j] =
阅读全文
摘要:析构函数在以下3种情况时被调用: 1. 对象生命周期结束被销毁时 2. delete指向对象的指针时,或者delete指向对象的基类类型的指针,而基类析构函数是虚函数 3. 对象A是对象B的成员,B的析构函数被调用时,对象A的析构函数也会被调用 类声明: 类定义: 测试1: 从运行结果可以看出,声明
阅读全文
摘要:思路: 1.新建,map<string,vector<string>> 2.遍历字符串数组里的每个字符串 把每个字符串进行排序 排序后的字符串,作为key,去查找并添加进map<string,vector<string>> 3.最后,输出map<string,vector<string>> 里的所有
阅读全文
摘要:思路:按照从外圈到内圈开始旋转。根据矩阵左上角和右下角确定一圈,然后交换矩阵中数字。
阅读全文
摘要:DP操作建模 dp[i][j]代表字符串word1[0...i-1]与word2[0...j-1]的最小编辑距离。 对于编辑距离的三个操作来说: 插入举例:X:=ex VS Y:=exp 前面的两个ex都是相同,则编辑距离不变为0,X没有第三个字符,这里如果我们插入了一个字符即可。dp[i][j]=
阅读全文
摘要:一、一维数组 注:动态申请数组可以避免用一个显示的数值去定义数组大小例如可以int number=100;int* a=new int[number] 4. 动态 int* array = new int[100](1,2); delete []array; 为长度为100的数组array初始化前两
阅读全文
摘要:转:编程思想之多线程与多进程(1)——以操作系统的角度述说线程与进程 编程思想之多线程与多进程(2)——线程优先级与线程安全 编程思想之多线程与多进程(4)——C++中的多线程 程序并不能单独执行,只有将程序加载到内存中,系统为他分配资源后才能够执行,这种执行的程序称之为进程,也就是说进程是系统进行
阅读全文
摘要:先通过动态规划求出最小路径的值,然后根据dp二维数组倒推所走路径。参考找出最大公共子序列解法。
阅读全文
摘要:思路:如果限制空间复杂度为O(1),我们就无法采用哈希表的方法去求解。题目中数组中所以数字都在范围[0, N-1],因此哈希表的大小为N即可。因此我们实际要做的就是对N个范围为0到N-1的数进行哈希,而哈希表的大小刚好为N。对排序算法比较熟悉的同学不难发现这与一种经典的排序算法——基数排序非常类似。
阅读全文
摘要:最长公共子序列 思路:详见程序员代码面试指南 最长公共字串 dp[i][j]代表必须把str1[i]和str2[j]当作公共字串最后一个字符的情况下的公共字串长度。 最长递增子序列
阅读全文
摘要:此类问题会有几种情况:现在列举其中几种1.让我们去求从一个点到另一个点的路径总数;2.列举出从一个点到另一个点的路径(可根据第一种情况的代码修改即可,一般是通过一个二维数组来记录每条路径);3.最短路径(涉及动态规划) 情况1的示例代码:
阅读全文
摘要:浏览器因特网资源:URL是浏览器寻找信息时所需的资源位置,通过URL,应用程序才能找到并使用共享因特网上大量的数据资源。 大部分URL都遵循一种标准的格式: ①HTTP协议(http://或者https://) ②服务器的因特网地址(www.baidu.com或者csh.joes.com) ③web
阅读全文
摘要:屏幕尺寸是指屏幕对角线的长度,一般以英寸为单位,1英寸(inch)=2.54厘米(cm)。传统意义上的照片尺寸也是这个概念。所以同样尺寸(指对角线)的屏幕,也可能长宽比率不同。像素(Pixel):是位图(如数字图像)里的抽象概念,指计算机对图像的采样点,没有具体尺寸。通俗理解就是一个一个的方框(点)
阅读全文
摘要:用后序遍历的方法做,可以避免重复遍历节点。在遍历到一个节点之前就已经遍历了它的左右子树 代码如下:
阅读全文
摘要:遇到此问题的时候,如果运行递归要返回值的话,一般可以这样写 return 后面接递归的函数。 题目一:数字在排序数组中出现的次数 题目二:二叉树的深度
阅读全文
摘要:链接地址:https://blog.csdn.net/xiaowei_cqu/article/details/7616044
阅读全文
摘要:链接地址:https://www.cnblogs.com/fjdingsd/p/5273008.html 脏读:指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。因为这个数据是还没有提交的数据,那么另外一个事务读到的
阅读全文
摘要:类所占内存的大小是由成员变量(静态变量除外)决定的,成员函数(这是笼统的说,后面会细说)是不计算在内的。 摘抄部分: 成员函数还是以一般的函数一样的存在。a.fun()是通过fun(a.this)来调用的。所谓成员函数只是在名义上是类里的。其实成员函数的大小不在类的对象里面,同一个类的多个对象共享函
阅读全文
摘要:既然是队列那么先要包含头文件#include <queue> 优先队列具有队列的所有特性,包括基本操作,只是在这基础上添加了内部的一个排序,它本质是一个堆实现的 。定义:priority_queue<Type, Container, Functional> Type 就是数据类型,Container
阅读全文
摘要:方法一:采用归并的思想将链表两两合并,再将两两合并后的链表做同样的操作直到合并为只有一个新的链表为止。 归类的时间复杂度是O(logn),合并两个链表的时间复杂度是O(n),则总的时间复杂度大概是O(nlogn)。 方法二:利用了最小堆这种数据结构,我们首先把k个链表的首元素都加入最小堆中,它们会自
阅读全文
摘要:联合体用途:使几个不同类型的变量共占一段内存(相互覆盖) 结构体是一种构造数据类型用途:把不同类型的数据组合成一个整体 自定义数据类型 Struct与Union主要有以下区别: 1. struct和union都是由多个不同的数据类型成员组成, 但在任何同一时刻, union中只存放了一个被选中的成员
阅读全文
摘要:直接通过中序遍历来解。但是需要设置两个节点记录每个子树排序后的第一和最后一个节点,尤其是最后一个,因为最后一个节点是由于连接所需。 上代码: 法二:(思路同上,但是更简洁)
阅读全文
摘要:博客链接https://blog.csdn.net/abc5382334/article/details/18052757
阅读全文
摘要:对象内存模型 一. 栈(Stack) VS. 堆(heap) 栈 由系统自动管理,以执行函数为单位 空间大小编译时确定(参数+局部变量) 函数执行时,系统自动分配一个stack 函数执行结束时,系统立即自动回收stack 堆 在c++中由程序员手动控制 手动分配new和malloc 手动释放dele
阅读全文
摘要:注:在子类中出现与父类相同名称的变量和非虚函数不是最佳实践,这里是为了说明其内存结构。 对其分析如下: 1. 每个含有虚函数的类在内存中多一根指针(vptr),见图中a,b,c对象中第一个位置,存储的是虚函数表(vtbl)所在的位置。 2. 虚函数表(vtbl)存储着所有虚函数的位置(地址),由于其
阅读全文
摘要:对于这种列出所有结果的题首先还是考虑用递归Recursion来解,由于字符串只有左括号和右括号两种字符,而且最终结果必定是左括号3个,右括号3个,所以我们定义两个变量left和right分别表示剩余左右括号的个数,如果在某次递归时,左括号的个数大于右括号的个数,说明此时生成的字符串中右括号的个数大于
阅读全文
摘要:hash_map和map的区别在哪里?构造函数。hash_map需要hash函数,等于函数;map只需要比较函数(小于函数). 存储结构。hash_map采用hash表存储,map一般采用红黑树(RB Tree)实现。因此其memory数据结构是不一样的。 什么时候需要用hash_map,什么时候需
阅读全文
摘要:链接地址:https://blog.csdn.net/v_JULY_v/article/details/6530142 B+树 B+ 树是一种树数据结构,是一个n叉树,每个节点通常有多个孩子,一棵B+树包含根节点、内部节点和叶子节点。根节点可能是一个叶子节点,也可能是一个包含两个或两个以上孩子节点的
阅读全文
摘要:问题一:两数之和 思路:用线性的时间复杂度来解决问题,那么就是说只能遍历一个数字,那么另一个数字呢,我们可以事先将其存储起来,使用一个HashMap,来建立数字和其坐标位置之间的映射,我们都知道HashMap是常数级的查找效率,这样,我们在遍历数组的时候,用target减去遍历到的数字,就是另一个需
阅读全文