bobo老师的玩转算法系列–玩转数据结构 简单记录 文章目录 不要小瞧数组 - 制作一个数组类 1 .使用Java中的数组 数组基础 简单使用 2.二次封装属于我们自己的数组 数组基础 制作属于我们自己的数组类 简单定义Array类 3.向数组中添加元素 向数组末添加元素e 在特定的位置插入一个新元素e 复用add 2-4 数组中查询元素和修改元素 toString 获取index索引位置的元素 修改index索引位置的元素为e Test 测试 5.包含,搜索和删除 删除指定index位置的元素…
首先需要导入import java.util.Random;才能使用随机类Random:Random生成随机数介绍:https://www.cnblogs.com/prodigal-son/p/12805183.html 代码注释写得非常详细应该都可以看得懂的非常简单 package draw; import java.util.Random; import java.util.Scanner; /** * @author Ocean * */ public class Draw_Main {…
//Java实现简单验证码功能 package project; import java.awt.Color; import java.awt.Font;import java.awt.Graphics;import java.awt.Image;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import java.awt.image.BufferedImage; import javax.swing.I…
数据结构和算法在计算机科学里,有非常重要的地位.此系列文章尝试使用 Golang 编程语言来实现各种数据结构和算法,并且适当进行算法分析. 我们会先简单学习一下Golang,然后进入计算机程序世界的第一个大门. 简单入门Golang 我们只学Golang语言的一个子集,足以开展接下来数据结构和算法的实现即可. 一.前言 Golang语言是谷歌Google公司在2007年启动,并在2009年正式发布并开源的高级编程语言.开源地址:https://github.com/golang/go,官网地址:…
包.变量和函数 一.举个例子 现在我们来建立一个完整的程序main.go: // Golang程序入口的包名必须为 main package main // import "golang" // 导入其他地方的包,包通过 go mod 机制寻找 import ( "fmt" "golang/diy" ) // init函数在main函数之前执行 func init() { // 声明并初始化三个值 var i, j, k = 1, 2, 3 //…
并发.协程和信道 Golang语言提供了go关键字,以及名为chan的数据类型,以及一些标准库的并发锁等,我们将会简单介绍一下并发的一些概念,然后学习这些Golang特征知识. 一.并发介绍 我们写程序时,可能会读取一个几千兆的日志,读磁盘可能需要读几十秒钟,我们不可能一直等他,因为虽然磁盘IO繁忙,但是处理器CPU很空闲,我们可以并发地开另一条路去处理其他逻辑. 在操作系统层面,出现了多进程和多线程的概念.一个处理器会在一个时间片里比如20纳秒执行一个进程,当时间片用完了或者发生了中断比如进程…
目录 数据结构与算法 java描述 笔记 第一章 算法及其复杂度 算法的定义 算法性能的分析与评价 问题规模.运行时间及时间复杂度 渐进复杂度 大 O 记号 大Ω记号 Θ记号 空间复杂度 算法复杂度及其分析 O(1)⎯⎯取非极端元素 O(logn)⎯⎯进制转换 O(n)⎯⎯数组求和 O(n$^2$ )⎯⎯起泡排序 O(2$^r$ )⎯⎯幂函数 计算模型 递归 线性递归 递归算法的复杂度分析 递归跟踪法 递推方程法 二分递归 多分支递归 数据结构与算法 java描述 笔记 第一章 算法及其复杂度…
流程控制语句 计算机编程语言中,流程控制语句很重要,可以让机器知道什么时候做什么事,做几次.主要有条件和循环语句. Golang只有一种循环:for,只有一种判断:if,还有一种特殊的switch条件选择语句. 一.条件语句 举个例子: // 判断语句 if a > 0 { fmt.Println("a>0") } else { fmt.Println("a<=0") } 当a > 0时打印a>0,否则打印a<=0.其中条件a &…
结构体和方法 一.值,指针和引用 我们现在有一段程序: package main import "fmt" func main() { // a,b 是一个值 a := 5 b := 6 fmt.Println("a的值:", a) // 指针变量 c 存储的是变量 a 的内存地址 c := &a fmt.Println("a的内存地址:", c) // 指针变量不允许直接赋值,需要使用 * 获取引用 //c = 4 // 将指针变量 c…
接口 在Golang世界中,有一种叫interface的东西,很是神奇. 一.数据类型 interface{} 如果你事前并不知道变量是哪种数据类型,不知道它是整数还是字符串,但是你还是想要使用它. Golang就产生了名为interface{}的数据类型,表示并不知道它是什么类型.举例子: package main import ( "fmt" "reflect" ) func print(i interface{}) { fmt.Println(i) } fun…
使用标准库 一.避免重复造轮子 官方提供了很多库给我们用,是封装好的轮子,比如包fmt,我们多次使用它来打印数据. 我们可以查看到其里面的实现: package fmt func Println(a ...interface{}) (n int, err error) { return Fprintln(os.Stdout, a...) } func Printf(format string, a ...interface{}) (n int, err error) { return Fprin…
新建IDEA插件File --> new --> Project--> Intellij PlatForm Plugin-->Next-->填好项目名OK 编写插件新建工程后在src下建个java文件, 如下 代码如下import com.intellij.openapi.actionSystem.AnAction;import com.intellij.openapi.actionSystem.AnActionEvent;import com.intellij.openap…
JAVA写一个简单的日历import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;import java.util.Scanner; /** * 制作一个简单的日历 * * @author 这知识它不进脑…
Java实现一个简单的文件上传案例 实现流程: 1.客户端从硬盘读取文件数据到程序中 2.客户端输出流,写出文件到服务端 3.服务端输出流,读取文件数据到服务端中 4.输出流,写出文件数据到服务器硬盘中 下面上代码 上传单个文件 服务器端 package FileUpload; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.Serve…
原文:http://www.jb51.net/article/75002.htm 这篇文章主要介绍了使用Java编写一个简单的Web的监控系统的例子,并且将重要信息转为XML通过网页前端显示,非常之实用,需要的朋友可以参考下 公司的服务器需要实时监控,而且当用户空间已经满了,操作失败,或者出现程序Exception的时候就需要实时提醒,便于网管和程序员调式,这样就把这个实时监控系统分为了两部分, 第一部分:实时系统监控(cpu利用率,cpu温度,总内存大小,已使用内存大小)第二部分:实时告警由于…
java中将一个字符数组赋值给另一个,两者的变化怎么是同步的?怎么才能让他们独立开? 比如有一个int[][] a 已经存在值,现在定义int[][] b=a;之后改变a的值,为何b也跟着改变?怎么才能那个让b不跟随a改变?如果b非变不可,我想记录下a没改变之前的值该怎么办?谢谢   如果需要b不变,就必须用for循环,使a数组的每个元素都复制到b的数组里.之所以b会随着a变化,那是因为他们指向了同一个对象.…
原文:实例学习SSIS(一)--制作一个简单的ETL包 导读: 实例学习SSIS(一)--制作一个简单的ETL包 实例学习SSIS(二)--使用迭代 实例学习SSIS(三)--使用包配置 实例学习SSIS(四)--使用日志记录和错误流重定向 实例学习SSIS(五)--理论介绍SSIS 参考内容:SQLServer2005的帮助文档. ms-help://MS.SQLCC.v9/MS.SQLSVR.v9.zh-CHS/sqltut9/html/d6d5bb1f-4cb1-4605-9cd6-f60…
现在很多卖货公司都使用聊天机器人充当客服人员,许多科技巨头也纷纷推出各自的聊天助手,如苹果Siri.Google Now.Amazon Alexa.微软小冰等等.前不久有一个视频比较了Google Now和Siri哪个更智能,貌似Google Now更智能. 本帖使用TensorFlow制作一个简单的聊天机器人.这个聊天机器人使用中文对话数据集进行训练(使用什么数据集训练决定了对话类型).使用的模型为RNN(seq2seq),和前文的<RNN生成古诗词><RNN生成音乐>类似. 相…
package com.cjm.queue; /** * 数据结构与算法Java实现 队列 * * @author 小明 * */ public class Myqueue { private Node head;// 队列的队头 private Node rear;// 对列的尾 private int size;//队列长度 public Myqueue() {//初始化 head=rear=null; size=0; } /* * 插入函数 */ public void add(Node…
1. 什么是 markdown Markdown 是一种轻量级的「标记语言」,它的优点很多,目前也被越来越多的写作爱好者,撰稿者广泛使用.看到这里请不要被「标记」.「语言」所迷惑,Markdown 的语法十分简单.常用的标记符号也不超过十个,这种相对于更为复杂的HTML 标记语言来说,Markdown 可谓是十分轻量的,学习成本也不需要太多,且一旦熟悉这种语法规则,会有一劳永逸的效果. 2. 使用 java 实现一个简单的 markdown 语法解析器 markdown 语法解析器,可以实现将…
前言: 1.关于PureMVC: MVC框架在很多项目当中拥有广泛的应用,很多时候做项目前人开坑开了一半就消失了,后人为了填补各种的坑就遭殃的不得了.嘛,程序猿大家都不喜欢像文案策划一样组织文字写东西,也不喜欢看别人留下不清不楚的文档,还不如看代码来得实在.刚开始新人看代码是看得头晕,因为这样那样的东西不一定能完全猜得透.而老人家就算有经验和阅历,也没有这么多的体力去看一个庞大而又复杂的糟糕项目.因为这种需求,Unity3D的程序猿就统一组织起来,想做一个完整规范的程序框架,而这时,PureMV…
转载自:http://www.alloyteam.com/2015/06/h5-jiao-hu-ye-bian-ji-qi-aeditor-jie-shao/ 本教程演示如何使用AEditor制作一个简单的H5交互页demo: 交互页demo地址: 点击打开H5交互页demo AEditor访问地址: http://aeditor.alloyteam.com Step1:设置页面背景颜色 首先我们设置页面的背景颜色,右击舞台点击“设置背景”: 然后在背景颜色中填上色值rgb(38, 61, 10…
java:jsp: 一个简单的自定义标签 tld 请注意,uri都是:http://www.tag.com/mytag,保持统一,要不然报错,不能访问 tld文件 <?xml version="1.0" encoding="UTF-8" ?> <taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSche…
Java实现一个简单的网络爬虫 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.…
原文:制作一个简单的WPF图片浏览器 注:本例选自MSDN样例,并略有改动.先看效果: 这里实现了以下几个功能:1.  对指定文件夹下所有JPG文件进行预览2.  对选定图片进行旋转3.  对选定图片进行灰度处理4.  对选定图片进行裁切处理5.  无限制的恢复功能6. 类似加入购物车的功能以下来看看其实现过程. 1. 建立一个ImageFile类,用来读取图像文件:// ImageFile.csusing System;using System.Collections.Generic;usin…
自己制作一个简单的操作系统二[CherryOS] 我的上一篇博客 自己制作一个简单的操作系统一[环境搭建], 详细介绍了制作所需的前期准备工作 一. 一点说明 这个操作系统只是第一步, 仅仅是开机显示一个hello cherryos, 不够万物开头都是 hello xxxx 不是吗?(┗( ´・∧・`)┛) 特别说明一下: 我们需要在一个纯英文的路径里制作自己的操作系统.  为什么, 为啥 我也不知道; 我的路径是: 二. 开始编写 1. 使用一个文本编辑器在上述目录下新建一个文件, boot.…
JAVA中有一个特殊的类: Object.它是JAVA体系中所有类的父类(直接父类或者间接父类). 此类中的方法可以使所的类均继承. 以下介绍的三种方法属于Object: (1) finalize方法:当一个对象被垃圾回收的时候调用的方法. (2) toString():是利用字符串来表示对象. 当我们直接打印定义的对象的时候,隐含的是打印toString()的返回值. 可以通过子类作为一个toString()来覆盖父类的toString(). 以取得我们想得到的表现形式,即当我们想利用一个自定…
面向对象编程的主要目的之一是:提供可重用的代码.尤其是项目很庞大的时候,重用测试过的代码比重新编码代码要好得多. C++提供了更高层次的重用性.其中之一就是继承这个概念. 一些厂商提供了类库.类库由类声明和实现构成.类库通常是由源代码组成的,这意味着可以对其进行修改,以满足需求.但是也可以用类继承的方式,来扩展和修改类.这比修改代码的方法更好.正如继承一笔财产要比自己白手起家更容易. 继承的基本实现非常简单,但是要对继承进行管理,使之在所有情况下都能正常使用,则需要做一些调整.所以继承有简单的一…
上篇博客我们简单介绍了数据结构和算法的概念,对此模糊很正常,后面会慢慢通过具体的实例来介绍.本篇博客我们介绍数据结构的鼻祖——数组,可以说数组几乎能表示一切的数据结构,在每一门编程语言中,数组都是重要的数据结构,当然每种语言对数组的实现和处理也不相同,但是本质是都是用来存放数据的的结构,这里我们以Java语言为例,来详细介绍Java语言中数组的用法. 1.Java数组介绍 在Java中,数组是用来存放同一种数据类型的集合,注意只能存放同一种数据类型(Object类型数组除外). ①.数组的声明…
class ArrayBub { private long[] arr; private int nElement; public ArrayBub(int size) { arr = new long[size]; nElement = 0; } @Override public String toString() { if (nElement == 0) return "[]"; StringBuilder sb = new StringBuilder(); sb.append(&…