自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (7)
  • 收藏
  • 关注

原创 3.1数据类型与类型检查

文章目录数据类型静态 vs. 动态数据类型检查可变量和不可变量Snapshot diagram作为一个code-level,run-time,moment view复杂数据类型:Arrays and Collections有用的不可变类型空指针静态/动态类型检查可变/不变的数据类型可变数据类型的危险性不变数据类型的优越性用Snapshot图理解数据类型用集合类表达复杂数据类型理解空指针的危害并避免它数据类型基本数据类型:小写字母,只有值,没有ID(与其他值无法区分),不可变,在栈中分

2020-07-10 21:45:46 276 1

原创 3.2设计规约

文章目录编程语言中的功能&方法规约:Programming for communication(1)Document in programming(2)Specification and Contract(of a Method)Behavioral equivalence(行为等价性)Specification(规约)结构:前置条件和后置条件规约分类如何设计一个好的规约方法的规约前置/后置条件欠定规约、非确定规约陈述式、操作式规约规约的强度及其比较如何写出好的规约编程语言中的功能

2020-07-10 21:44:49 217

原创 3.3抽象数据类型(ADT)

文章目录1.Abstract and User-Defined Types2.Classifying Types and OperationsMutable and immutable typesClassifying the operations of an abstract type构造器的标志变值器的标志3.抽象数据类型例子4.Designing an Abstract TypeRepresentation Independence(表示独立性)ADT的特性:表示泄露、抽象函数AF、表示不变量AF;

2020-07-10 21:43:46 662

转载 ArrayList扩容机制

本篇主要看的是jdk1.8 至于其他版本大同小异,1)List扩容实现步骤总的来说就是分两步:扩容:把原来的数组复制到另一个内存空间更大的数组中添加元素:把新元素添加到扩容以后的数组中2)源码分析先把ArrayList中定义的一些属性贴出来方便下面源码分析分析之前我们先看一下ArrayList的两个构造方法ArrayList()ArrayList(int initial...

2020-04-25 15:49:01 1184 1

原创 [ IJ ] the file size exceeds configured limit(2.56M).Code insight features are not available

当我们放入项目中的资源文件过大时,在IDEA中可能会有这样的报错解决方法:点击help,点击Edit Custom Properties…修改配置文件:重启IDEA,弹框消失;...

2020-04-25 14:32:49 1383 2

原创 java正则表达式实战(获取网站中显示的超链接)

有些网站反爬,可能会用不了,这个的主要目的是为了练习正则表达式import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.URL;import java.nio.charset.Charset;import java.util.Arra...

2020-04-24 18:00:15 350

原创 java正则表达式基础入门

字符边界匹配的不是字符而是位置,符合某种条件的位置^与字符串开始的地方匹配$与字符串结束的地方匹配\b匹配一个单词边界\b匹配这样一个位置:前面的字符和后面的字符不全是\w...

2020-04-24 16:30:19 131

转载 状态(State)模式

状态(State)模式  状态模式,又称状态对象模式(Pattern of Objects for States),状态模式是对象的行为模式。状态模式允许一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样。状态模式的结构  用一句话来表述,状态模式把所研究的对象的行为包装在不同的状态对象里,每一个状态对象都属于一个抽象状态类的一个子类。状态模式的意图是让一个对象在...

2020-04-16 21:16:37 309

原创 Java中的重载和重写的区别

重写与重载之间的区别区别点重载方法重写方法参数列表必须修改一定不能修改返回类型可以修改一定不能修改异常可以修改可以减少或删除,一定不能抛出新的或者更广的异常访问可以修改一定不能做更严格的限制(可以降低限制)总结方法的重写(Overriding)和重载(Overloading)是java多态性的不同表现,重写是父类与子类之间多态性的一...

2020-04-14 22:05:26 84

转载 Java 多态

Java 多态多态是同一个行为具有多个不同表现形式或形态的能力。多态就是同一个接口,使用不同的实例而执行不同操作,如图所示:多态性是对象多种表现形式的体现。现实中,比如我们按下 F1 键这个动作:如果当前在 Flash 界面下弹出的就是 AS 3 的帮助文档;如果当前在 Word 下弹出的就是 Word 帮助;在 Windows 下弹出的就是 Windows 帮助和支持。同一个事件...

2020-04-14 21:40:38 70

转载 泛型就这么简单

前言从今天开始进入Java基础的复习,可能一个星期会有一篇的<十道简单算法>,我写博文的未必都是正确的~如果有写错的地方请大家多多包涵并指正~今天要复习的是泛型,泛型在Java中也是个很重要的知识点,本文主要讲解基础的概念,并不是高深的知识,如果基础好的同学可以当复习看看~一、什么是泛型?Java泛型设计原则:只要在编译时期没有出现警告,那么运行时期就不会出现ClassCast...

2020-04-14 21:18:57 112

原创 Java中的继承和子类

java中子类的定义是在继承中提到的:派生自另一个类的类称为子类(也称为派生类,拓展类或子类)。派生子类的类称为超类(也称为基类或父类)。继承的功能:当创建新类时,并且已经有一个包含所需代码的类时,可以从现有类中派生新类。子类从其超类继承所有成员(字段、方法和嵌套类)。构造函数不是成员,不能够被继承,但可以从子类中调用超类的构造函数(eg. super(…))。子类的调试不需要再调试超类中...

2020-04-14 16:53:10 688

原创 对于Arrays.copyofRange中复制的分析

如果数组中的元素为可变对象:只是copy了地址,修改原数组中的元素,新的数组中的元素仍然会发生变化;如果是不可变对象,比如基本数据类型int,(可能是因为java的常量池机制,不清楚),改变原数组中的内容,新的数组中的内容不会改变;...

2020-04-12 18:45:10 628

转载 如何转载CSDN博客

前言  对于喜欢逛CSDN的人来说,看别人的博客确实能够对自己有不小的提高,有时候看到特别好的博客想转载下载,但是...

2020-04-05 15:45:57 84

转载 棋盘覆盖问题(分治法)

//棋盘覆盖问题/*(tr,tc)是棋盘左上角的方格坐标(dr,dc)是特殊方格所在的坐标size是棋盘的行数和列数 */ #include<iostream>using namespace std;int board[1025][1025];static in...

2020-04-05 15:34:24 475

原创 第三课(分治法.1)

3.4阅读https://oi-wiki.org/math/quick-pow/学习基于分治思想的“快速幂”算法。设计一个通过矩阵运算,在O(logN)时间内计算斐波那契数列第N项的算法。算法思想:${(f(n),f(n-1))}={f(n-1),f(n-2)}*\left[\begin{array}{cc}1&1\1&0\end{array}\right] ={f...

2020-04-05 09:27:53 87

原创 算法分析与设计第二课作业

2020-04-04 15:18:23 136

转载 斐波那契数列优化(ologn)

  相信大家都对斐波那契数列已经相当的熟悉了,最多两分钟就可以写出来以下时间复杂度为O(N)的代码://递归实现long long fib(int n)...

2020-04-02 17:13:52 1126 2

转载 latex一些常用的技巧(待续,笔记自用)(Latex)

\documentclass{ctexart}\usepackage{algorithm}\usepackage{algorithmic}\floatname{algorithm}{算法}\renewcommand{\algorithmicrequire}{输入}\renewcommand{\algorithmicensure}{输出} \begin{algorithm} \lab...

2020-03-10 18:40:22 335

原创 717.1比特和2比特字符

有两种特殊字符。第一种字符可以用一比特0来表示。第二种字符可以用两比特(10 或 11)来表示。现给一个由若干比特组成的字符串。问最后一个字符是否必定为一个一比特字符。给定的字符串总是由0结束。题目中给的字符很特殊,二字符都是1开始的,而1字符只有0,因此我们从头线性遍历,如果遇到1说明遇到两字符;第一种方法,如果遇到bits[i]=1,说明两字符,i+=2;否则遇到0,i++;检查是否...

2020-02-16 18:08:15 202

原创 542.01矩阵

给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离。两个相邻元素间的距离为 1 。这道题,乍看很像是最短路径的问题,我们想是否可以按照这种思想来处理该问题;如果采用动态规划的思想来处理,索引下标为i,j的点根据它周围点来得出;这个思想和Dijkstra中的relax方法很想,假定matrix[m][n],是matrix[i][j]的邻接点,那么dist[i][j]=min...

2020-02-16 17:12:15 158

原创 有向图(拓扑排序+深度优先搜索+图的先序后序逆后序顶点排序+Kosoraju算法)

这篇文章代码是关于有向图的拓扑排序和强连通性算法;测试结果和预期结果有差别,找了很久,新手的(┬_┬)坑;Stack 这个数据结果在JAVA已经自动实现,但是对于foreach ,以及迭代器,数据的顺序是先进先出的,不会按照栈的后进先出顺序;这里修改了一下保证了迭代器中数据的顺序是后进先出的,测试结果正确;接下来是实现代码(包括测试代码可以直接运行的);主要内容:Digraph ...

2020-02-15 16:46:38 1502

原创 无向图实现+Kruskal+prim延时+prim即时(索引优先队列)Java实现

(┬_┬),终于…参考文章:算法☞《图》java实现索引优先队列本文主要是实现《算法》一书中关于无向图的部分内容,并加以测试;主要功能类(一个类用一个.java文件):文章目录Edge 边类EdgeWeightedGraph 加权无向图KruskalMST Kruskal求MSTWeightedQuickUnionUF 加权quick-union,配合KruskalLazyPrimM...

2020-02-12 20:55:38 203

原创 判断输入语句中是否有待查词组

#include <stdio.h> #include <stdlib.h> #define MAXLINE 1000 int getline(char line[],int max); int strindex(char source[],char searchfor[]); char pattern[] = "ould";/*待查找的模式*/...

2020-02-12 20:14:55 111

原创 实现《算法》无向图(邻接表)的部分算法

实现《算法》无向图(邻接表)的部分算法参考文章:算法☞《图》java实现图的抽象类实现Graph class;无向图的实现图的抽象类接口,UndriGraph class;深度优先搜索类DepthFirstSearch class;深度优先搜索寻找两点之间是否有路径,并返回DepthFirstSearchPath class;连通分量算法CC class;广度优先搜索BreadFi...

2020-02-11 19:50:31 545

原创 回收站选址

#include<stdio.h>#include<stdlib.h>typedef struct node{ int x; int y; int record; int v_record;//统计邻接点的垃圾个数 int m_record;//统计4个角的垃圾个数};void find(node* m, node* n);int ma...

2020-01-20 17:59:56 417

原创 报数

#include<stdio.h>#include<stdlib.h>bool find_7(int m);int main(){ int m = 0; scanf("%d", &m); int n = 0;//用于记录已经查过的数的个数 int s[5] = { 0 };//记录每个人跳过数的个数 int j = 0; for (int...

2020-01-20 15:36:57 95

原创 一、(1)Java类结构和main函数

## Java类结构和main函数 Java 类结构必须以.java作为拓展名; 一个Java文件只能有一个public class; public class 的名字必须和文件名字一样,大小写必须完全一致; 一个文件可以有多个class,但是只能有一个是public,不提倡一个文件中放多个类(内部类除外) 类是Java中最基础逻辑单位; ...

2020-01-16 10:53:34 339

原创 快速排序的多种版本

#include <stdio.h>#include <ctype.h>//每次划分子集时,该算法总是选取各个子数组的中间元素void qsort(int v[],int left,int right){ int i,last; void swap(int v[],int i,int j); if(left >=right) /*如...

2019-12-24 23:41:06 449 1

原创 支票簿计算器支持科学计数法

#include <ctype.h>#include <stdio.h>#define MAXLINE 1000/*atof函数:把字符串s转换为相应的双精度浮点数*/double atof(char s[]){ double val,power; int i,sign,sign1,val1; for(i = 0;isspace(s[i]...

2019-08-31 18:52:00 149

原创 最大子数组问题(分治法,暴力法),最后附有分治法JAVA实现

问题描述:给定一个数组A,寻找A的和最大的非空连续子数组,我们称这样的连续子数组为最大子数组第一种方法:遍历,从第一个元素一直遍历到最后一个元素,算出和最大的子数组,算法复杂度为Θ(n2n^2n2),容易实现,但不建议使用;第二种方法:分治策略接下来主要介绍分治策略的实现:使用分治策略意味着我们要将子数组划分为两个规模尽量相等的子数组。因此首先要找到子数组的中央位置,比如mi...

2019-08-28 17:10:29 599

原创 算法入门——插入排序和归并排序

算法入门——插入排序和归并排序 新手算法入门,萌新一枚,如有错误,请多见谅!内容主要来源于算法导论。插入排序插入排序,主要适用于少量元素的排序,就像打扑克一样,左手拿已经排好的牌组,右手从待排序的牌堆中拿取一张,从右往左依次比较,找到合适位置时停下,插入,此牌右边的牌在排序过程中顺次右移一位。算法复杂度为Θ(n2n^2n2)。伪代码如下(将 A 数组递增输出):INSERTION...

2019-08-11 22:56:22 529

原创 Python倒排索引

倒排索引(Inverted index),也常被称为反向索引,是一种索引方法,用来存储某个单词存在于哪些文档之中。是信息检索系统中最常用的数据结构。通过倒排索引,可以根据单词快速获取包含这个单词的文档列表。本作业主要完成以下四个功能:(1). 建立索引:首先输入100行字符串,用于构建倒排索引,每行字符串由若干不含标点符号的、全部小写字母组成的单词构成,每个单词之间以空格分隔。依次读入每个单词...

2019-07-21 14:51:48 1977

原创 python2.7打印中文字符串

python2.7打印中文字符串方法一:encoding: utf-8print u"你好,世界"方法二:encoding: utf-8s = ‘你好,世界’s = unicode(s,‘utf-8’)print s方法三:myinput = raw_input()myinput = unicode(myinput,‘gbk’)print myinput.encode(‘g...

2019-07-16 11:01:35 950

原创 Android Studio开发环境配置(无需上外网)

Android Studio开发环境配置(无需上外网)作为一款谷歌公司专门用于Android开发的开发平台,Android Studio比Eclipse更加适合Android的开发(主要是因为谷歌公司和Java的开发公司对于知识产权的问题,谷歌已经停止了对ADT插件的更新,并将Android Studio作为官方的推荐开发平台)因此,如果从今后的发展来看,学习Android开发,使用Androi...

2019-02-05 15:36:47 5789 1

mysq8+驱动包(mysql-connector-java-8.0.11).zip

各种版本的mysql都在这里,不用积分下载了,http://mvnrepository.com/artifact/mysql/mysql-connector-java

2020-07-08

regexbuddyqggpjybgjb.zip

RegexBuddy.exe,解压即可使用,正则表达式利器,程序员使用.

2020-04-23

clrscode3e.zip

算法导论风格的伪代码宏包,官网下载途径:https://ctan.org/pkg/clrscode3e,如果无法访问,下载这个也一样。

2020-03-29

NoteHighlight201636.zip

为onenote增加代码插入功能,32位,64位安装包均有,直接安装即可,可在onenote2016中直接显示

2020-01-27

电梯控制器.rar

电梯控制器,EGO1开发板,Verilog语言,vivado开发平台,有数码管显示功能,可显示当前电梯所在楼层,目标楼层,电梯运行时间,支持0到9层楼

2019-07-21

liushuideng.zip

viavado流水灯实现,含有测试文件,芯片Aritix-7,含有管脚设计,操作可行

2019-05-22

YoudaoNote.exe仅供查资料

是一款非常好用的网络云笔记,无需占用内存,即可记录。

2019-02-03

空空如也

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

TA关注的人

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