- 博客(30)
- 收藏
- 关注
原创 数据结构和算法入门
所以我们需要一个不用具体的测试数据和测试环境,就可以粗略地估计算法执行效率的方法。这个方法称作为复杂度也就是大O 记法。复杂度分析(大 O 记法)是数据结构和算法的精髓和基石,只有掌握好它,才能更好的学习数据结构和算法。大 O 记法,只保留最大趋势公式,指数 > 线性 > 对数 > 常数。因此在计算时间复杂度的时候,其实并不需要一行行看代码,只需要关注for 循环嵌套情况。写代码的时候,如果能用线性复杂度的代码,替换指数复杂度的代码,那就是大大性能优化。数组的查询数据特别快,时间复杂度是 O(1)
2024-11-05 18:50:06 844
原创 C语言刷题笔记2(6)
题目描述:使用if和goto语句,求1+2+3+…+100的值。输入:无输出:输出题目描述中表达式的值。请注意行尾输出换行。
2024-10-28 10:23:08 1001
原创 C语言二刷字符串
字符串可以表达为char*的形式,char*不一定是字符串,只有它所指的字符数组有结尾的0,才能说它所指的是字符串。'\0'和0一样,但是和'0'不同,0标志字符串的结束,但不是字符串的一部分(计算字符串长度时不包含这个0),字符串以数组的形式存在,以数组或指针的形式访问。
2024-10-27 14:24:48 709
原创 C语言二刷指针篇
转换:总是可以把一个非const的值转换成const的int a=15;f(&a);//okf(&b);//okb=a+1;//Error!当要传递的参数的类型比地址大的时候,这是常用的手段:既能用比较少的字节数传递值给参数,又能避免函数对外面的变量的修改。
2024-10-27 12:11:02 657
原创 深入理解指针
我们知道计算机上CPU(中央处理器)在处理数据的时候,需要的数据是在内存中读取的,处理后的数据也会放回内存中,当我们买电脑的时候,电脑上内存是8GB/16GB/32GB等。为了高效地去管理这些内存,我们把内存划分为⼀个个的内存单元,每个内存单元的⼤⼩取1个字节。计算机中常⻅的单位(补充): ⼀个比特位(bit)可以存储⼀个2进制的位1或者0上面的单位除了1Byte = 8bit ,其余的单位之间的进制都是1024,
2024-10-26 19:10:11 952
原创 C语言二刷
(VLA)是指用整型变量或表达式声明或定义的数组 ,而不是说数组的长度会随时变化,变长数组在其生存期内的长度同样是固定的。字长为32个bit时,每一个寄存器可以表达32个bit的数据,也就是当从内存中取数据到CPU里,每次会取32个bit。变长数组的大小在编译时无法确定,等到程序运行起来后,用户输入之后n的值确定了,才能确定数组的大小.函数的每次运行会产生一个独立的变量空间,在这个空间的变量是函数这次运行所独有的,称作。每个函数有自己的变量空间,参数也位于这个独立的空间中,和其他函数没有关系。
2024-10-26 11:08:12 700
原创 Java网络编程 - 下载文件、图片
无论转换为自定义的类还是Map最终返回的都是一个集合List。集合中的每一个元素,即每一个实例对象(无论是自定义类还是 Map),都表示一行数据。除了检查代码,还要用软件把文件打开,仔细对比文件内容与console输出结果,务必要理解文件中每一行、每一列、每个单元格的值,跟 java 类(无论是自定义类还是Map)之间的关系是什么。try {System.out.println("下载成功");// 解析 excel 文件。
2024-10-21 14:46:33 1012
原创 Java网络编程 - headers
库请求网页、API,解析JSON格式的结果文本。但是也不一定任何请求都能成功,例如我们在浏览器中输入IP地址详情信息查询的API在浏览器中是可以看到结果的,但是用Java程序调用却不行,console中虽然有结果,但实际上没有需要的内容。因为一些大型网站出于安全等各种因素考虑,会对请求进行比较严格的校验,其中一个重要的校验,是判断请求是否真的来自于一个真实的浏览器。如果不是来自浏览器,例如Java程序请求,API服务器认为不是真实的浏览器访问,就直接拒绝掉了。
2024-10-21 10:04:54 635
原创 Java网络编程-Request Response对象
execute(),前面的一系列代码是做前置准备。这段代码获得服务器返回内容的专用代码,不具备通用性,所以基于很多大神前辈的编码风格,给大家展示简洁的连写风格。其它情况下,不推荐使用连写风格。要完全理解 body、状态码 这些知识点,可能还需要里学过课程,这里不用纠结。可以后再来,这里重点是学会。http状态码。状态码是用一个数字直观反映了本次请求的状况,例如常见的200表示请求成功了,404表示出错了,服务端没有被请求的内容。
2024-10-20 19:22:13 324
原创 Java网络编程-简单的API调用
API 全称 Application Programming Interface,应用程序接口,API 一般是指一些预先定义的函数,目的是可以为开发人员快速访问某一程序,而无需了解和访问源码,或理解它内部工作机制的细节。简单的讲,API 可以快速调用某个程序。这在计算机里叫做接口,我们生活中也有很多接口,比如 U 盘可以储存信息,我们访问 U 盘,只需要把 U 盘插到电脑上就可以访问,插入的 USB 接口就是一个接口,不需要关心它是如何实现的。
2024-10-19 16:25:30 996
原创 Java网络编程-HTTP协议原理
网络协议的简称,网络协议是通信计算机双方必须共同遵从的一组约定。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。
2024-10-19 10:50:08 679
原创 Java入门-创建对象
import语句用于申明导入不同包的类对象,在自己创建的类对象一样也有这个问题。比如House.java,如果把这个类创建成上面的代码中House 对象的是存放在//引入 House 类对象//import 语句得在 package 之后。
2024-10-18 17:39:58 807
原创 Java入门-字符串
indexOf方法接受一个String字符串,当调用这个方法时,就会去文本里查找第一个匹配到的坐标索引值,所以可以得到一个int数字类型的数据,可以根据这个int数字的值来判断是否匹配。如果返回值是-1说明不匹配,如果返回值!,replaceAll 方法有两个字符串参数,第一个代表的是要替换的值,第二个代表的是新值,这个执行后会得到一个新的字符串(原始的字符串不会变哦)大多数情况下,原始数据都是字符串,但是我们是希望对字符串中的数字进行数学运用的,所以这个时候就遇到字符串转化数字或者数字转化字符串的情况。
2024-10-16 18:02:45 899
原创 Java入门-无返回值方法
main方法是程序执行的入口// 固定的方法格式,main方法用于启动程序总结一下方法的语法就是// public(公共的) static(静态) void(空类型)public static void 方法名称(方法参数){代码块这里除了main和Java的关键字之外,方法名称可以任意的英文单词。方法创建成功后去执行这个方法的行为称为:方法调用System.out.println("测试");// 这里执行一下 newLine 这个自定义方法的调用newLine();
2024-10-14 14:10:45 126
原创 C语言刷题笔记1(1-5)
两种声明变量的方式适用于不同的场景。如果只是简单地声明变量,准备在后续的程序中再给它们赋值,可以使用第一种方式。如果希望变量在声明时就有一个确定的初始值,以确保程序的正确性和稳定性,可以使用第二种方式。
2024-09-28 20:09:31 295
原创 操作符详解
int m;//全局变量结构体内嵌套时要加上{ },乱序初始化时要加 . xx。即使有了操作符的优先级和结合性,我们写出的表达式依然有可能不能通过操作符的属性确定唯⼀的计算路径,那这个表达式就是存在潜在⻛险的,建议不要写出特别复杂的表达式。
2024-09-11 19:20:07 649
原创 C语言——函数递归
在C语⾔中,递归就是函数⾃⼰调⽤⾃⼰。上述就是⼀个简单的递归程序,只不过上⾯的递归只是为了演⽰递归的基本形式,不是为了解决问 题,代码最终也会陷⼊死递归,导致栈溢出(Stackoverflow)。
2024-09-05 16:30:29 644
原创 VS实⽤调试技巧
当我们发现程序中存在的问题的时候,那下⼀步就是找到问题,并修复问题。这个找问题的过程叫称为调试,英⽂叫debug(消灭bug)。调试⼀个程序,⾸先是承认出现了问题,然后通过各种⼿段去定位问题的位置,可能是逐过程的调试,也可能是隔离和屏蔽代码的⽅式,找到问题所的位置,然后确定错误产⽣的原因,再修复代码, 重新测试.
2024-09-05 15:36:48 1008
原创 C语言数组和函数实践:扫雷游戏
我们可以让雷和⾮雷的信息不要使⽤数字,使⽤某些字符就⾏,这样可以避免冲突,但是这样做棋盘上有雷和⾮雷的信息,还有排查出的雷的个数信息,就⽐较混杂,不够⽅便。再继续分析,我们在棋盘上布置了雷,棋盘上雷的信息(1)和⾮雷的信息(0),假设我们排查了某⼀个位置后,这个坐标处不是雷,这个坐标的周围有1个雷,那我们需要将排查出的雷的数量信息记录存储,并打印出来,作为排雷的重要参考信息。因为我们需要在9*9的棋盘上布置雷的信息和排查雷,我们⾸先想到的就是创建⼀个9*9的数组来存放信息。简单9*9棋盘,10个雷。
2024-09-05 14:45:55 493
原创 C语言——函数
ret_type fun_name(形式参数)ret_type 是函数返回类型(函数计算结果的类型),返回类型可以是 void ,表⽰什么都不返回fun_name 是函数名,为了⽅便使⽤函数,尽量根据函数的功能,起的有意义函数可以没有参数,(void)如果有参数,要交代清楚参数的类型和名字以及参数个数{ }括起来的部分是函数体,函数体就是完成计算的过程int z = 0;z = x+y;return z;int b = 0;//输⼊。
2024-09-05 11:22:11 987
原创 C语言——分支与循环
在C语⾔中,0为假,⾮0表⽰真默认在 if 和 else 语句中默认都只控制⼀条语句,如果要if语句同时控制2条语句,要使⽤ {} 将代码括起来, else 后也可以跟上⼤括号。else 总是跟最接近的 if 匹配。
2024-08-05 22:03:47 713
原创 C语言——数据类型和变量
短整型 [signed] short [int] unsigned short [int] //2Byte整型 [signed] int unsigned int //4Byte⻓整型 [signed] long [int] unsigned long [int] //4Byte更⻓的整型(C99中引⼊) [signed] long long [int] unsigned long long [int] //8Byte。
2024-08-04 09:58:47 978
原创 C语言常见概念
C语⾔是⼀⻔编译型计算机语⾔,C语⾔源代码都是⽂本⽂件,⽂本⽂件本⾝⽆法执⾏,必须通过编译器翻译和链接器的链接,⽣成⼆进制的可执⾏⽂件才能执⾏。Tips: 源文件(.c) 目标文件(.obj) 可执行程序(.exe) 头文件(.h)
2024-08-03 15:52:46 588
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人