- 博客(8)
- 收藏
- 关注
原创 KMP算法理解
给出问题:在字符串(主串)中查找子串(模式串),如给定长度为m字符串A =“aababcaabaacdcbab”,长度为n的模式串B=“aabaacd”,给出B在A中的位置。暴力解法的时间复杂度为O(n*m),而KMP算法的时间复杂度为O(n+m)一、基本概念子序列:字符串中任意个相对位置不变的字符组成的字符串,如“ab”,“ac”,“a”均为“abc”的子序列。子串:字符串中任意...
2018-09-10 13:02:34
200
原创 大小端对字节序和位序的影响
1、字节序(byte order)大端存储格式:即多字节数据的高字节存储在低地址中,而低字节数据存放在高地址中。小端存储格式:即多字节数据的高字节存储在高地址中,而低字节数据存放在低地址中。例子:short类型的数据 0x0201大端存储格式存放内容 0x02 0x01 内存地址 低地址:0x0001 高地址:0x0002 小端存储格式存放内容 0x01 0x02 内存地址 低地址:...
2018-07-09 15:56:52
2652
原创 char类型能赋最小值-128,而int类型不能直接赋最小值-2147483648
在此,仅谈谈自己的理解,如有错误,欢迎指正!谢谢!在64位系统中,类型字节大小<4字节,按4字节对整型常数进行处理,因此(1)对取值范围为[-128,128)的char类型赋最小值-128,处理如下128 . 0x00 00 00 10 (原码 ,反码 ,补码)采用一元负运算符“-”对其取反,操作为取反加1(~(128)+1)128 取反为 0xFF FF FF 7F,加1为 0xFF ...
2018-07-05 10:03:04
512
原创 C++中结构体的对齐方式
在面试中,常会考到结构体的对齐方式,因此对其进行总结。1、在没有#pragma pack宏的情况下struct sA{ double d1; int i1; double d2; char c1;}; 原则1:每个成员按类型的大小对齐,即相对于结构体地址的成员地址能被类型大小整除.并且结构体的大小(sizeof(A))必须为成员所含类型中最大值(sizeof(double
2018-01-10 18:59:06
4232
原创 使用vector创建二维动态数组,并使用sort对其进行排序
此处创建的二维动态数组是行已知,而列是动态的。1、这里需要包含的文件#include //使用STL中sort()函数必不可少的头文件#include //使用STL中vector必不可少的头文件#include //使用rand()来产生随机数的头文件#includeusing namespace std;2、二维动态数组的定义vector> viA(row); //
2018-01-08 13:06:50
8146
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人