wardoluo
码龄5年
  • 23,436
    被访问
  • 122
    原创
  • 514,231
    排名
  • 6
    粉丝
关注
提问 私信
  • 加入CSDN时间: 2017-11-05
博客简介:

wardo_l的博客

查看详细资料
个人成就
  • 获得9次点赞
  • 内容获得40次评论
  • 获得49次收藏
创作历程
  • 109篇
    2021年
  • 13篇
    2019年
成就勋章
TA的专栏
  • 数据结构
    11篇
  • 算法
    5篇
  • Java语言
    91篇
  • Python
    12篇
  • 安装配置
    2篇
  • 机器学习
    1篇
兴趣领域 设置
  • 人工智能
    分类
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

位运算应用场景(每遇更新)

1. and运算 &and运算通常用于二进制取位操作(1)例如一个数 and 1的结果就是取二进制的最末位。这可以用来判断一个整数的奇偶,二进制的最末位为0表示该数为偶数,最末位为1表示该数为奇数。// 由于自动补全动作,1的前面位全部为0,只有最后1位为1,故前面每一位与1运算结果都是0// 而最后一位如果为0,即原数为偶数;如果为1,原数为奇数if((a & 1) == 1) System.out.println("a为奇数");if((a & 1) ==
原创
发布博客 2021.03.26 ·
121 阅读 ·
0 点赞 ·
0 评论

树-二叉树(前中后序遍历+按值查找+删除节点)

为什么需要树这种数据结构:1)数组存储方式的分析:优点:通过下标方式访问元素,速度快。对于有序数组,还可使用二分查找提高检索速度。缺点:如果要检索具体某个值,或者,或者插入值(按一定顺序)会整体移动,效率较低。2)链式存储方式的分析优点:在一定程度上对数组存储方式有优化(比如:插入一个数值节点,只需要将插入节点,链接道链表中即可,删除效率也很好)。缺点:在进行检索时,效率仍然较低,比如(检索某个值,需要从你个头节点开始遍历)。3)树存储方式的分析能提高数据存储,读取的效率,比
原创
发布博客 2021.03.26 ·
460 阅读 ·
0 点赞 ·
0 评论

二分查找和插值查找

1.线性查找2.二分查找
原创
发布博客 2021.03.23 ·
69 阅读 ·
0 点赞 ·
0 评论

排序算法(冒泡排序、选择排序、插入排序、希尔排序、快速排序、归并排序、基数排序)

排序也叫排序算法,排序是将一组数据,依指定的顺序进行排列的过程。排序的分类:1)内部排序:指将需要处理的所有数据都加载到内部存储器中进行排序。2)外部排序:数据量过大,无法全部加载到内存中,需要借助外部存储进行排序。3)常见的排序算法分类:内部排序:(1)插入排序:直接插入排序、希尔排序(2)选择排序:简单选择排序、堆排序(3)交换排序:冒泡排序、快速排序(4)归并排序、基数排序我们先回顾知识点:时间复杂度时间频度:一个算法花费的时间与算法中语句的执行次数成正比例
原创
发布博客 2021.03.18 ·
685 阅读 ·
1 点赞 ·
0 评论

C/S结构文件上传案例

文件上传分析图解。1.客户端:输入流,从硬盘读取文件数据到程序中;2.客户端:输出流,写出文件数据到服务器端;3.服务端:输入流,读取文件数据到服务端程序;4.服务端:输出流,写出文件数据到服务器硬盘中。注意:客户端和服务器端和本地硬盘进行读写,需要使用自己创建的字节流对象(本地流)客户端和服务器之间读写,必须使用Socket中提供的字节流对象(网络流)文件上传的原理,就是文件的复制。public class TCPCFileClient { public sta
原创
发布博客 2021.03.17 ·
109 阅读 ·
0 点赞 ·
0 评论

TCP通信程序

1.概述TCP通信能实现两台计算机之间的数据交互,通信的两端,要严格分为客户端(Client)与服务端(Server)。两端通信时步骤:1.服务端程序,需要事先启动,等待客户端的连接。2.客户端主动连接服务器端,连接成功才能通信。服务端不可以主动连接客户端。在Java中,提供了两个类用于实现TCP通信程序:1.客户端:java.net.Socket类表示。创建Socket对象,向服务器发出连接请求,服务端响应请求,两者建立连接开始通信。2.服务端:java.net.Ser..
原创
发布博客 2021.03.17 ·
31 阅读 ·
0 点赞 ·
0 评论

软件结构/网络通信协议/IP地址/端口号

软件结构(1)C/S结构:全称为Client/Server结构,是指客户端和服务器结构。常见程序有QQ、迅雷等软件。(2)B/S结构
原创
发布博客 2021.03.17 ·
242 阅读 ·
0 点赞 ·
2 评论

算法题-Java实现:从 1 到 n 整数中 1 出现的次数(时间复杂度O(logn))

前言:仅仅是自己的做题思路及优化过程记录,非官方答案,仅供参考。题目:求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。原始思路:遍历一次1~n,使用动态字符串StringBuilder.append将数据串起来,然后转化为char数组,再
原创
发布博客 2021.03.12 ·
146 阅读 ·
0 点赞 ·
0 评论

递归(回溯之迷宫问题+八皇后)

回顾知识点递归概念:递归就是方法自己调用自己,每次调用时传入不同的变量。递归有助于编程者解决复杂的问题,同时可以让代码变得简洁。递归调用机制:1)打印问题2)阶乘问题// 打印问题private static void test(int n){ if(n > 1){ test(n - 1); // 到1为止 } System.out.println("n = " + n);}// 阶乘问题private static int f
原创
发布博客 2021.03.11 ·
28 阅读 ·
0 点赞 ·
0 评论

打印流

java.io.PrintStream继承了字节流,因此有父类的共性成员方法,同时为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式。特点:1.只负责数据的输出,不负责数据的读取;2.与其他输出流不同,PrintStream 永远不会抛出 IOException;3.与有特有的方法,print和println方法,可以输出任意类型值,区别于是否换行。构造方法:(红色为常用)构造方法摘要 PrintStream(Filefile)创建具有指定文...
原创
发布博客 2021.03.11 ·
25 阅读 ·
0 点赞 ·
0 评论

序列化与反序列化和transient瞬态关键字

1.概述Java提供了一种对象序列化的机制。用一个字节序列可以表示一个对象,该字节序列包含该对象的数据、对象的类型和对象中存储的属性等信息。字节序列写出到文件之后,相当于文件中持久保存了一个对象的信息。反之,该字节序列还可以从文件中读取回来,重构对象,对它进行反序列化。对象的数据、对象的类型和对象中存储的数据信息,都可以用来在内存中创建对象。序列化:对象转换为字节 ObjectOutputStream反序列化:字节重构为对象 ObjectInputStream2.ObjectOutp
原创
发布博客 2021.03.10 ·
73 阅读 ·
0 点赞 ·
0 评论

转换流InputStreamReader类和OutputStreamWriter(字符编码和字符集)

1.字符编码和字符集字符编码:计算机中储存的信息都是用二进制表示的,而我们在屏幕上看到的数字、英文、标点符号、汉字等字符是二进制数转换之后的结果。按照某种规则,将字符存储到计算机中,称为编码。反之,将存储在计算机中的二进制数按照某种规则解析显示出来,称为解码。比如说,按照A规则存储,同样按照A规则解析,那么就能显示正确的文本符号。反之,按照A规则存储,再按照B规则解析,就会导致乱码现象。编码:字符-->字节;解码:字节-->字符字符编码就是一套自然语言的字符与二进制数之间的对应规则。
原创
发布博客 2021.03.10 ·
332 阅读 ·
1 点赞 ·
0 评论

缓冲流

昨天学习了基本的一些六,作为IO流的入门,今天学习一些更强大的流。比如能够高效读写的缓冲流,能够转换编码的转换流,能够持久化存储对象的序列化流等。这些功能更为强大的流,都是在基本的流对象基础之上创建而来,相当于是对基本流对象的一种增强。概述缓冲流的基本原理,是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高读写的效率。缓冲流,也叫高效流,是对4个基本的FileXxx流的增强,所以也是4个流,按照数据类型分类:字节缓冲流:BufferInpu
原创
发布博客 2021.03.10 ·
30 阅读 ·
0 点赞 ·
0 评论

属性集合Properties

概述java.util.Properties继承于Hashtable,来表示一个持久的属性集。Properties可以保存在流中或从流中加载。它使用键值结构存储数据,每个键及其对应值都是一个字符串(双列集合)。该类也被许多java类使用,比如获取系统属性时,System.getProperties方法就是返回一个Properties对象。Hashtable是最早期的双列集合,但由于其单线程操作被Hashmap替代了,然而其子类Properties仍活跃着,因为是唯一和IO流相结合的集合。Proper
原创
发布博客 2021.03.10 ·
75 阅读 ·
0 点赞 ·
0 评论

前缀(波兰)、中缀、后缀(逆波兰)表达式

前缀、中缀、后缀表达式是对表达式的不同记法,其区别在于运算符相对于操作数的位置不同,前缀表达式的运算符位于操作数之前,中缀和后缀同理。前缀表达式(波兰表达式)前缀表达式又称波兰式,前缀表达式的运算符位于操作数之前。举例说明(3+4)*5-6对应的前缀表达式就是-*+3456。前缀表达式的计算机求值:从右往左扫描表达式,遇到数字时,将数字压入堆栈,遇到运算符时,弹出栈顶两个数,同运算符对它们做相应的计算(栈顶元素和次顶元素)...
原创
发布博客 2021.03.11 ·
361 阅读 ·
0 点赞 ·
0 评论

栈Stack(数组模拟、单链表模拟)

栈是一个先入后出的有序列表,是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,为变化的一端,称为栈顶定(top),另一端为固定的一端,称为栈底(bottom)。根据栈的定义可知,最先放入栈中元素在栈底,最后放入的元素在栈顶,而删除元素刚好相反,最后放入的元素最先删除,最先放入的元素最后删除。入栈图解:出栈图解:应用场景:1)子程序的调用:在跳往子程序前,会先将下个指令的地址存到堆栈中,直到子程序执行完毕之后再将地址取出,以回到原来的程序中。
原创
发布博客 2021.03.09 ·
40 阅读 ·
0 点赞 ·
0 评论

IO异常的处理

JDK7前的IO流异常处理无法使用throws声明抛出异常交给方法调用者直到给到JVM去处理,只能try-catch-finally代码块捕捉异常,处理异常。public static void main(String[] args) { //提高变量fw的作用域,让finally可以使用 //变量在定义的时候,可以没有值,但是使用的时候必须有值 //fw = new FileWriter("E:\\g.txt",true); 执行失败,fw没有值,...
原创
发布博客 2021.03.09 ·
251 阅读 ·
0 点赞 ·
0 评论

字符流(字符输入流和字符输出流)

概述当使用字节流读取文本文件时,可能会有一个小问题。就是遇到中文字符时,可能不会显示完整的字符,那是因为一个中文字符可能占用多个字节存储。所以Java提供一些字符流类,以字符为单位读写数据,专门用于处理文本文件。字符输入流Readerjava.io.Reader抽象类是标识用于读取字符流的所有类的超类,可以读取字符信息到内存中。它定义了字符输入流的基本共性功能方法。磁盘-->内存public void close():关闭此流并释放与此流相关联的任何系统资源。public in
原创
发布博客 2021.03.09 ·
1868 阅读 ·
1 点赞 ·
0 评论

字节输入流

java.io.InputStream抽象类是表示字节输入流的所有类的超类,可以读取字节信息到内存中,它定义了字节输入流的基本共性功能方法。磁盘-->内存public void close():关闭输入流并释放与此流相关联的任何系统资源。public abstract int read():从输入流读取数据的下一个字节。public int read(byte[] b):从输入流中读取一些字节数,并将它们存储到字节数组b中。FileInputStream类文件字节输入流,把硬盘
原创
发布博客 2021.03.08 ·
407 阅读 ·
0 点赞 ·
0 评论

IO流概述+字节输出流

1.IO概述类似于从u盘将文件拷贝到电脑硬盘里,把这种数据传输,看作是一种数据流动,按照流动的方向,以内存为基准,分为输入input和输出out,即流向内存是输入流,流出内存是输出流。Java中I/O操作主要是指使用java.io包下的内容,进行输入输出操作。输入也叫做读取数据,输出也叫做写出数据。2.IO分类知识点回忆:①ASCII码中,一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间。一个二进制数字序列,在计算机中作为一个数字单元,一般为8位二进制数,换算
原创
发布博客 2021.03.08 ·
66 阅读 ·
0 点赞 ·
0 评论
加载更多