自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 数据结构 算法的时间复杂度

前言首先来解决一个问题:算法是什么?算法是对特定问题求解步骤的一种描述,是指令的有限序列。值得一提的是,只要是算法,一定具有以下五个特性:有穷性:一个算法必须要在有限步后结束,且每步都在有限时间内完成;确定性:一个算法只能有唯一的执行路径,对于相同输入只能得出相同的输出;可行性:一个算法是可执行的;输入 :一个算法有零个或多个输入;输出 :一个算法有一个或多个输出。 (算法可以没有输入,但一定有输出。因为如果没有输出,算法再优秀也看不出结果,不能解决问题)一、算法的频度一条语句.

2020-11-03 15:20:15 1461

原创 汇编第四课课后——汇编语言程序框架

第四章 第一个程序4.1 用汇编语言写的源程序学计算机语言一开始不就是copy code么?那就来看看汇编语言写的源程序的基本结构应该是怎么样的!橙色区域块很熟悉了,就是汇编指令,那么其余两个就来一一破解吧!...

2020-03-18 16:08:17 469

原创 汇编第四课预习——第一个程序及[BX] 和 loop 指令

第四章 第一个程序come on.4.1 一个源程序从写出到执行的过程写程序呗。对源程序进行 编译(产生目标文件)、连接(产生可执行文件)。最终的可执行文件中不光有指令的机器码和数据,还有相关描述信息(程序大小等)。就不知汇编语言程序能否在裸机条件下运行?4.2 源程序回顾一下:一个汇编语言源程序由三部分组成:主体是汇编指令、还有伪指令和其他符号。1.伪指令(1)段名...

2020-03-11 19:43:15 333

原创 汇编第三课课后整理——寄存器(2)

第二章 寄存器2.6 CS、IP与代码段内存中的信息都是以二进制码的形式存放的,那么我们到底怎么区分这些信息是指令码还是一般的数据呢?8086CPU是这样处理规定的:设定两个寄存器CS和IP(为什么要用两个寄存器?因为要解决内部总线16位,但地址总线20位的差异问题),这两个寄存器的值共同来决定一个具体的内存单元,并将从这个内存单元开始的一段连续地址当作是“代码段”,也就是说这一块区域被人为...

2020-03-07 13:27:46 343

原创 汇编第三课预习——寄存器(2)

第二章 寄存器2.9 段寄存器前面的学习中忘了搜索段地址和偏移地址等相关的英文了。现在补充一下:段地址 (Segment address) : segment [ˈseɡmənt , seɡˈment] 原意:部分;片段。偏移地址 (offset address) : offset [ˈɒfset] 原意:抵消;补偿。但在计算机领域中意为偏移量,的确有点费解。物理地址 (Physi...

2020-03-05 19:19:31 547

原创 JavaSE学习笔记-Day32

IO流暂且告一段落,开始多线程技术的学习。一. 多线程 概述多线程是Java的重要特性,大量应用于网络编程、服务器端程序的开发等等领域。比如我们可以流畅的点击软件或者游戏中的各种按钮,其实,底层就是多线程的应用。再比如我们可以成百上万人同时访问某个网站,其实,也是基于网站服务器的多线程原理。如果没有多线程,服务器处理速度会极大降低。二. 程序“程序(Program)”是一个静态的概念,一...

2020-03-03 15:08:25 148

原创 JavaSE学习笔记-Day30~31

一. 转换流InputStreamReader/OutputStreamWriter用来实现将字节流转化成字符流。举一个实例:System.in是字节流对象,代表键盘的输入; 而System.out也是字节流对象,代表输出到显示器。现在我们将这两个字节流对象转换成字符流。package cn.zjb.test;import java.io.BufferedReader;import...

2020-03-02 21:50:44 88

原创 JavaSE学习笔记-Day20~29

我又回来啦!在经历网课的巨大冲击后,又有了相对空闲的一天。

2020-02-29 16:11:28 152

原创 实验1——Debug调试程序的使用

Debug是一个D实用程序,是供程序员使用的程序调试工具,

2020-02-27 12:34:35 3031

原创 汇编第二课课后整理——寄存器(1)

第二章 寄存器2.1 寄存器及数据存储CPU是计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。CPU一般由运算器、控制器、寄存器等器件构成。CPU中各个部件之间的数据交互是通过内部总线完成的,而前面一章讲的CPU和内存之间的数据交互是通过外部总线完成的,它们的原理和大体结构基本一致。汇编语言中CPU的学习重点放在寄存器的学习上。不同CPU,寄存器的个数、结构和功能是不一样的...

2020-02-26 16:30:40 323 1

原创 汇编第二课预习——寄存器(1)

第二章 寄存器2.0 寄存器的引入看了这么两段话,唯一有用的一句——8086CPU有14个寄存器。2.1 通用寄存器通用寄存器AX(Accumulator [əˈkjuːmjəleɪtə( r )]):通常称为累加器,它可用于加减乘除、输入/输出等操作,它们的使用频率很高。通用寄存器BX(Base Register):称为基地址寄存器,它可作为存储器指针来使用。通用寄存器...

2020-02-26 11:43:45 483

原创 汇编第一课课后整理——基础知识

第一章 基础知识1.1 由机器语言到汇编语言机器语言是所有计算机语言的“鼻祖”,也是计算机唯一能“直接懂”的语言。机器语言是机器指令的集合。机器指令就是一台机器能正确执行的命令,机器指令是由一串二进制数(二进制数的序列)表示的。因为机器语言是完全面向机器的,完全不符合人性化这一特点(我们用自己的语言来表达交流而不是二进制语言),为了方便,汇编语言应运而生。汇编语言的主体是汇编指令,而汇编...

2020-02-25 17:15:16 228

原创 汇编第一课预习——基础知识(2)

1.13 接口卡接口卡??接口??CPU对外设的控制是通过接口实现的,但是这种控制方式在我的记忆中是不唯一的,好像有查询、中断、DMA等等一些方式,还有不直接控制的原因等等问题,还是等到上课的时候或者课后解决,这个问题先留着。1.14 各类存储器芯片随机存取存储器(英语:Random Access Memory,缩写:RAM),对应着主存,是与CPU直接交换数据的内部存储器。只...

2020-02-25 09:56:19 104

原创 汇编第一课预习——基础知识(1)

学校开设的汇编语言提供的教材是电子版的:汇编语言/王爽著.——北京:清华大学出版社,2003,有点年代感。第一章 基础知识1.0 汇编概述在学习新知识时,我通常遵循的原则是:先明白是什么,再探究为什么。那么汇编语言是什么呢?按照书上的内容:嗯好像有点感觉,不急,再看看百度百科的说法:好像更啰嗦了,说来说去还是那一句话:汇编语言是一个规定好的符号(助记符)集合,用这些符号代替对应...

2020-02-23 18:38:13 247

原创 JavaSE学习笔记-Day18~19

今天正式学习IO流的相关类。InputStream/OutputStream(字节流)和Reader/writer(字符流)类是所有IO流类的抽象父类,我们有必要简单了解一下。一. InputStream和FileInputStreamInputSteam是一个抽象类,它不可以实例化,它是表示字节输入流的所有类的超类。 继承自InputSteam的流都是用于向程序中输入数据(读),且数据...

2020-02-19 18:02:16 222

原创 JavaSE学习笔记-Day17

一. IO的引入和基本概念学习前需要回顾的知识:什么是内存,它的特点是什么?内存是计算机的数据存储设备之一,是计算机的工作场所,计算机中所有程序的运行都是在内存中进行的。它的特点是读取数据的速度快,但是内存的容量小,并且断电后内存中的信息会丢失。什么是磁盘,它的特点是什么?硬盘是计算机重要的外部存储设备,它也是计算机存储数据的设备。它里面的数据信息必须要先传递给内存,然后计算机才能获取。它...

2020-02-17 19:39:51 191

原创 JavaSE学习笔记-Day16

今天的任务是把容器这一章节的知识总结梳理一遍。总的来说,容器这一章节就像是数据结构的一个章节,我们依次学习了顺序表、链表和哈希表,这三种线性结构(像二叉树之类的非线性存储结构还未探究)。首先我们通过Collection接口延伸出List接口和Set接口,然后靠部分源码简单分析它们各自的实现类: ArrayList、LinkedList、HashSet 。ArrayList存储数据的方式...

2020-02-16 16:32:12 150

原创 JavaSE学习笔记-Day15

一. HashtableHashtable类和HashMap用法几乎一样,底层实现几乎一样,只不过Hashtable的方法添加了synchronized关键字确保线程同步检查,效率较低。HashMap与Hashtable的区别:HashMap: 线程不安全,效率高。允许key或value为null。Hashtable: 线程安全,效率低。不允许key或value为null。二. Se...

2020-02-15 16:29:19 168

原创 JavaSE学习笔记-Day14

学完Collection的右子树,本来应该继续学习它的左子树的,但是由于Set的底层就是靠Map实现的,所以我们必须先了解Map。前面的数组、链表那是正规学过的,哈希表是自学,树也仅仅停留在二叉排序树,这篇理解的比较浅薄,还望指正。一.Map接口德国哲学家莱布尼茨说过:“世上没有两片完全相同的树叶。”,在以Map为接口的容器里也同样符合这个道理。在这个领域中,人为的把数据内部(或者说与该...

2020-02-14 22:02:33 156

原创 JavaSE学习笔记-Day13

今天好不容易早起,想先整理一下Java写表格的一些方式,也是延续昨天晚上的一些思绪。就以下面这个表格为例:第一种方式: 纯数组实现package cn.zjb.practice;import java.util.Arrays;/** * 纯数组实现 * @author 张坚波 * */public class Chart1 { public static void ...

2020-02-13 17:11:10 213

原创 JavaSE学习笔记-Day12

一. 容器和泛型的引入不管是什么语言,在开发程序的过程中和数据打交道是必不可少的,为了更好地容纳这些数据,我们在之前的学习中就引入了数组的概念,这确实是容纳数据的好办法,但是单单数组是完全不能满足我们的需求的,因为我们对数据远远不止只有容纳的要求,更重要的是要管理数据。诚然,对数组中的元素也可以进行管理操作,不过需要自己敲代码,如果功能仅限于此,那么这就不是Java了。作为更强大的语言,Java...

2020-02-12 19:55:48 254

原创 JavaSE学习笔记-Day11

一. 异常机制程序在运行过程中很容易出现各种各样的问题,比方说:数组越界、除数为0、内存泄漏等等。Java为了有效解决和提示出现的相应问题,推出了异常机制(个人觉得准确的说是问题机制)。JDK 中定义了很多类用于构成这个机制(专业称呼这些类为异常类,不过这种说法不利于我的理解),这些类对应了各种各样可能出现的问题事件,所有这些类的对象都是派生于java.lang.Throwable类的一个实例...

2020-02-11 19:38:55 126

原创 JavaSE学习笔记-Day10

今天把常用类的内容结束!一.时间处理相关类(Date,DateFormat、SimpleDateFormat,Calendar)Date类在java.util包中有一个Date类,它的对象表示一个特定的瞬间,精确到毫秒。Date类的很多成员都已经过时了(被其他类的成员替代)。再来看看Date类的构造方法:测试一下:package cn.zjb.test;import j...

2020-02-10 20:12:34 179

原创 JavaSE学习笔记-Day9

昨天是复习了第一个七天的内容。常用类还没有学完,进度感觉有点慢,加油吧!一.StringBuffer和StringBuilder类之前学习了String类,并且知道了String类对象是不可变对象,在处理字符串连接问题时容易造成内存泄漏,那么有什么类是可变字符序列吗?有的!今天就来学习StringBuffer和StringBuilder类。StringBuffer和StringBuild...

2020-02-09 20:30:39 135

原创 JavaSE学习笔记-Day8

孔子云:温故而知新,可以为师矣。那么今天就来回顾一下这一个星期所学的知识。第一章: 初步认识JavaJava版本:SE 、 EE 、 ME, SE定位于计算机,EE定位于服务器。Java优势: 跨平台性(不区分操作系统),面向对象,多线程,高性能等等。JVM 、JRE 、JDK:JVM是跨平台性的核心机制,运行Java只要JRE,开发需要JDK。Java运行机制:先编译成.clas...

2020-02-08 17:51:22 178

原创 JavaSE学习笔记-Day7

鉴于昨天的偷懒行为,心里一直不好受,今天痛定思痛,多学点,开始Java常用类的学习吧!一. 包装类包装类的引入实例:在编程语言的学习中,编写一个数据表格是必不可少的操作,比方说要编写一个学生成绩信息表格,里面有多种不同的数据类型:学号(int),姓名(String),年级(int),各科成绩(double[])。在C语言里,用一个顺序表就可以解决了,也就是结构体数组,但是Java并没有结...

2020-02-07 20:45:45 161

原创 JavaSE学习笔记-Day6

昨天学完了面向对象的进阶内容,不过对面向对象还是没有什么感觉啊,不敢那么多了,继续往后学!今天我们学习一下数组。一. 一维数组数组这个概念就不陌生了,就不做实例来引进概念了。数组是相同类型数据的有序集合。其中,每一个数据称作一个元素,每个元素可以通过一个索引(下标)来访问它们。数组的几大特点:长度是确定的。数组一旦被创建,它的大小就是不可以改变的。其元素必须是相同类型,不允许出现...

2020-02-06 19:33:09 151

原创 JavaSE学习笔记-Day5

昨天以面向对象的三大特点:封装、继承、多态为主线深入学习了Java,今天我们将继续学习面向对象语言的进阶内容。一. 抽象方法我们还是以一个实例做引子,在编写Animal类时,需要写一个eat方法来表示动物吃的食物,但是Animal类的范围实在是太大了,不同的动物吃的食物是不一样的,我们根本写不出具体的方法体,但是以这个基类来派生出一个更具体的类,比方说我们再写一个子类Dog来继承Anima...

2020-02-05 21:25:48 135

原创 JavaSE学习笔记-Day4

在昨天的学习中,已经完成了Java面向对象的基础内容,今天开始步入Java面向对象的进阶学习,将从Java面向对象的三个特性:封装、继承、多态作为主线学习。一. 封装性封装(Encapsulation)是面向对象方法的重要原则,就是把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节。怎么理解封装呢?按照我自己的见解,人就是一个封装的东西,我们人可以实现的功能...

2020-02-04 17:55:18 165

原创 JavaSE学习笔记-Day3

昨天初步学习完了类的三个成员并拓展延伸了些其他知识,今天就继续深入学习Java面向对象的基础。一. this关键字在昨天的最后一个程序中,我们发现,eclipse自动生成的代码里有this这个关键字,我们来看看昨天写的具体例子吧:public class StandardClass { private int num; public void setNum(int num) { ...

2020-02-03 20:31:22 152

原创 JavaSE学习笔记-Day2

昨天学习到了类和对象的概念,并初步认识了它们。今天在这个基础上继续学习,从类的三个成员作为切入点,深入学习。由于习惯了边学习一些知识就边敲代码,有疑问还可以自己测试一下,但是又对Java的面向对象还是没那么了解,那我还是将面向对象退化成面向过程来敲代码吧,哈哈。一. 属性(成员变量)的概念成员变量就是变量的一种,只不过成员变量一定是在类中的(不包括方法体内部)。既然这里又提及了变量这个概...

2020-02-02 20:37:20 254

原创 JavaSE学习笔记-Day1

笔者是一名大二在读本科生,最近闲着无聊重拾起Java这门语言,看了些许教学视频后居然还觉得挺有意思,“情不知所起,一往而深”。于是决心认真学习这门语言!由于身居科班,自然不是零基础,hai,也差不多吧,精修的C语言,选修的Java,又加之时间的打磨和沉淀,哦,看来是负基础呀…所以呢,更要认真学习了!笔者承诺每天更新学习笔记,算是监督和督促自己的学习吧!要把自己每天学习的知识都整理、理解、总结,并...

2020-02-01 20:35:50 308

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除