- 博客(12)
- 收藏
- 关注
原创 『重点算法』KMP算法 + BF算法(暴力算法)
KMP算法的时间复杂度为:O(m + n)原理:KMP算法是由克努特(Knuth)、莫里斯(Morris)、普拉特(Pratt)共同设计实现的,所以由他们的每个名字首写得来。KMP的算法核心在于相对于BF算法,主串 i 下标不用回退,而是利用一个next数组来确定下一个同步判断的 j 下标。举个例子:为方便理解,以下例子中 k 为同步判断的起始位置
2022-10-05 23:24:01 2486 1
原创 数据结构(2)/ 顺序表+链表
Ⅳ、boolean addIndex(int Index,int data):指定位置插入,第一个有效元素的下标为0。ⅠⅠ、set(int pos,int value):将pos位置元素跟新为value。Ⅶ、boolean contains(int key):判断链表是否包含key元素。Ⅳ、void add(int pos,int data):在pos位置新增元素。ⅠⅡ、remove(int key):删除第一次出现的元素key。Ⅹ 、int get(int pos):获取指定位置的元素。
2022-09-16 12:33:57 842
原创 数据结构(1)/ 时间、空间复杂度与泛型
目录一、复杂度Ⅰ、时间复杂度与空间复杂度Ⅱ、大O的渐进表示法二、泛型Ⅰ、为什么会有泛型Ⅱ、泛型语法 Ⅲ、裸类型(了解即可)Ⅳ、泛型如何编译?擦除机制知识点:为什么不能创建泛型数组创建泛型数组常规操作Ⅴ、泛型的边界 Ⅵ、泛型方法 Ⅶ、通配符(?)①、通配符解决什么问题②、 通配符的上界③、通配符的下界 ④、包装类 前言 本章节是在IntelliJ IDEA集成开发环境测试的结果,内容多适用于学习Java方向数据结构的学者时间复杂度:算法中基本代码的运行次数空间复杂度:为实现一个算法而创建的空间次数例如:
2022-09-15 16:02:33 307
原创 C语言(4)/static关键字 与 内存分布
一、关键字Ⅰ、static关键字① 、static修饰局部变量②、static修饰全局变量③、static修饰函数(与修饰全局变量同理)Ⅱ、(define)定义常量和宏①、定义常量与宏二、内存(指针)Ⅰ、从内存条到指针①、内存条②、指针和指针变量的大小③、指针解引用操作(* 解引用操作符)三、拓展:大小端字节序四、原码,反码,补码Ⅰ、原码Ⅱ、反码Ⅲ、补码.........
2022-08-17 17:25:18 1320 3
原创 『重点知识点』地址详解、栈帧的创建与销毁简洁版
运行内存与操作系统的关系 、操作系统、 运行内存、地址、C语言的内存分布、粗略介绍函数栈帧的创建与销毁(C语言学了80%再看比较好) 市面上常见的有32位和64位操作系统。对于32位操作系统而言,在CPU内部有32根地址线,每一根地址线分为带电和不带电两种,对应1或0。于是就有了32位的二进制序列。这2^32种二进制就称作地址,每一个地址指向一个字节,所以32位操作系统最高能控...
2022-06-28 17:49:36 211
原创 scanf函数(多组输入问题)
scanf函数的输出格式、scanf函数不安全性的问题、scanf函数多组输入问题(在线oj试题)两个scanf函数连用问题scanf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。当我们需要使用时需要引入stdio.h头文件。scanf函数的一般调用形式如下:scanf("格式字符",输入列表的地址);如下结果如下: 第一行与第四行是...
2022-06-26 17:40:44 9803
原创 『附录1』操作符、ASCII码表(c语言)
目录一、操作符Ⅰ、算数操作符(+ - * / %)Ⅱ、位移操作符(>)Ⅲ、位操作符(& | ^)Ⅳ、赋值操作符(= 复合操作符+= 、 -=等等)Ⅴ、单目操作符(! - + & sizeof ~ -- ++ * )Ⅵ、关系操作符(判断操作符 > < 等)Ⅶ、逻辑操作符(&& || )Ⅷ、条件操作符( 表达式1 ? 表达式2 : 表达式3)Ⅸ、逗号表达式(,)Ⅹ、下标引用、函数调用和结构成员二、ASCII码表除:可以用于任何基本类型的相除(相除中如果操作数有一个或两个小数则得出浮点......
2022-06-23 16:17:40 2016
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人