Bootcamp
文章平均质量分 64
不乖不乖
这个作者很懒,什么都没留下…
展开
-
Algorithms-3.5 Symbol Table Applications 符号表应用
Symbol Table Applications1 sets 集合的API2 dictionary clients 字典类用例3 indexing clients 索引类用例4 sparse vectors 稀疏向量1 sets 集合的API比symbol table简单,因为不需要处理值,只处理表中所有键的集合,和相应的值无关源码见课本p315package Chapter03;import edu.princeton.cs.algs4.In;import edu.prince原创 2021-08-22 21:50:01 · 125 阅读 · 0 评论 -
Algorithms-3.4 Hash Tables 散列表
Hash Tables1 hash functions 散列函数2 separate chaining 基于拉链法的散列表3 linear probing 基于线性探测法的散列表4 context 散列表的文本应用1 hash functions 散列函数用index(0、1、2……)代表key优秀的散列方法要保持一致性(等价键产生相同散列值)、高效性(计算简便)、均匀性(均匀地散列所有键)因为string是不能变的,因此string的hash code也不变,只需计算一次pac原创 2021-08-21 16:10:23 · 95 阅读 · 0 评论 -
Algorithms-3.3补充 Geometric Applications of BSTs 二叉树的几何应用
Geometric Applications of BSTs1 1d range search 一维区间搜索2 line segment intersection3 kd trees4 interval search trees5 rectangle intersection1 1d range search 一维区间搜索2 line segment intersection3 kd trees4 interval search trees5 rectangle intersection.原创 2021-08-15 22:31:29 · 123 阅读 · 0 评论 -
Algorithms-3.3 Balanced Search Trees 平衡查找树(2-3查找树、红黑树)
Balanced Search Trees1 2-3 search trees 2-3查找树1.1 search1.2 insert1.3 summary2 red-black BSTs 红黑二叉查找树2.1 红黑树定义2.2 基础的红黑树操作2.2.1 旋转2.2.2 颜色转换2.2.3 插入2.2.4 删除3 B-trees 树1 2-3 search trees 2-3查找树1.1 search可找到的key不可找到的key1.2 insertInsert into a 2-n原创 2021-08-09 18:30:11 · 121 阅读 · 0 评论 -
Algorithms-3.2 Binary Search Trees 二叉查找树
Binary Search Trees1 BSTs 二叉查找树2 ordered operations in BSTs 有序性相关方法2.1 最大键和最小键2.2 向上取整和向下取整2.3 排名2.3.1 size()2.3.2 rank()2.3.3 中序遍历2.3.4 summary3 deletion 删除操作3.1 删除最小键3.2 Hibbard deletion3.3 summary1 BSTs 二叉查找树no more tree (search miss)package原创 2021-08-05 15:51:47 · 198 阅读 · 0 评论 -
Algorithms-3.1 Symbol Tables 符号表
Symbol Tables1 API2 基本实现 elementary implementations2.1 无序链表中的顺序查找2.2 有序数组中的二分查找3 有序操作 ordered operationsDNS:domain name server域名服务器Symbol table就是一个字典1 API关联数组抽象结构hashcode注入随机性最好在symbol table使用不可变类型的keypackage Chapter03;import java.util.原创 2021-08-02 17:56:48 · 187 阅读 · 0 评论 -
Algorithms-2.4 Priority Queues 优先队列
Priority Queues1 API和初级实现 API and elementary implementations2 二叉堆 binary heaps2.1 堆的定义2.2 堆的算法2.2.1 由下至上的堆有序化插入元素2.2.2 由上至下的堆有序化删除最大元素2.3 复杂度3 堆排序 heapsort3.1 堆的构造3.2 下沉排序3.3 mathematical analysis3.4 所有排序算法总结4 应用:事件驱动模拟 event-driven simulation1 API和初级实现 A原创 2021-07-28 23:01:34 · 195 阅读 · 0 评论 -
Java中Comparable和Comparator详解
Java中Comparable和Comparator详解1 Comparable接口Comparable小结2 Comparator接口Comparator小结3 Comparable和Comparator比较1 Comparable接口将Comparable源码中的所有注释去掉后,代码如下:package java.lang;import java.util.*; public interface Comparable<T> { public int compareTo(T转载 2021-07-25 12:53:39 · 1018 阅读 · 0 评论 -
Algorithms-2.3 QuickSort 快速排序
QuickSort1 快速排序 Quicksort1.1 基础的快速排序quicksort也是一种递归(recursive)方法,quicksort的递归是在处理整个数组后,而归并排序是在它处理整个数组前递归切分(partition)的位置取决于数组的内容通过递归的调用切分来排序一边遇到不合法的值暂停后,另一边不暂停,直到另一边也找到不合法的值,二者互换位置当j在i左边,i在j右边时停止;此时j指向左边子数组中最右边的元素,i指向右边子数组中最左边的元素package Chapt原创 2021-07-24 19:36:23 · 174 阅读 · 0 评论 -
Algorithms-2.2 Mergesort 归并排序
Mergesort1 归并排序 Mergesort抽象的“原位归并”原创 2021-07-22 23:51:38 · 211 阅读 · 0 评论 -
Algorithms-2.1 Elementary Sorts 初级排序算法(选择排序、插入排序、希尔排序)
Elementary Sorts1 排序介绍(rules of the game)1.1 示例给0-1之间的小数升序排序package Chapter02;import edu.princeton.cs.algs4.StdOut;import edu.princeton.cs.algs4.StdRandom;import edu.princeton.cs.algs4.Insertion;//Sort random real numbers in ascending orderpub原创 2021-07-20 15:54:52 · 229 阅读 · 0 评论 -
IDEA中查看方法的调用链
IDEA中查看方法的调用链 快捷键转载链接原创 2021-07-15 21:58:12 · 1248 阅读 · 0 评论 -
Java类与类之间的调用
类与类之间的调用方法1新建一个类,然后在调用类中先进行被调用类实例化,然后通过实例化的对象访问。Example//先定义一个类import static java.lang.System.out; public class Son { public void IsSon() { out.append("调用Son类中的IsSon成员方法成功!"); }}//实例化,调用import java.util.*;import java.math.*; public cl转载 2021-07-15 21:42:55 · 2994 阅读 · 0 评论 -
Algorithms Part1-配置环境 for Mac
配置环境1 教程文章1文章2文章32 关于找不到或无法加载主类路径问题参见该文章3 成功实例package Chapter02;import edu.princeton.cs.algs4.In;import edu.princeton.cs.algs4.StdIn;import edu.princeton.cs.algs4.StdOut;import java.util.Arrays;public class BinarySearch { privat原创 2021-07-13 15:44:43 · 180 阅读 · 0 评论 -
Algorithms from Princeton - Intro
Introduction1 课本官方网站Textbox2 课程链接Part 1 前3章Part 2 后3章3 内容速览第一章 简介 + 并查集第二章 排序算法,包含归并,快速,堆,选择,希尔等排序。以及优先队列第三章 Symbol table,二叉树,左倾红黑树,散列表第四章 图,包括有向图,无向图,最小生成树,最短路径的两种算法第五章 字符串,字符串排序,查找KMP等三种算法,正则表达式,霍夫曼树第六章 背景, 包括B+树介绍等等(因为其他内容与刷题无关,就没写了) 作者:郭郭wg原创 2021-07-11 13:27:00 · 143 阅读 · 0 评论 -
Java异常机制
1 什么是异常2 简单分类3 异常体系结构最高是Throwable,其次是Error和Exception3.1 Error3.2 Exception4 异常处理机制抛出异常捕获异常异常处理五个关键字:try, catch, finally, throw, throwspublic class Test { public static void main(String[] args) { int a = 1; int b = 0原创 2021-07-10 22:41:42 · 175 阅读 · 0 评论 -
IDEA for Mac快捷键
根据官方pdf翻译:官方pdf在 IntelliJ IDEA 中有两个 Mac 版本的快捷键,一个叫做:Mac OS X,一个叫做:Mac OS X 10.5+目前都是用:Mac OS X 10.5+有两套的原因:https://intellij-support.jetbrains.com/hc/en-us/community/posts/206159109-Updated-Mac-OS-X-keymap-Feedback-needed建议将 Mac 系统中与 IntelliJ ..转载 2021-07-10 17:08:11 · 634 阅读 · 0 评论 -
Java面向对象
1 面向对象1.1 面向过程&面向对象属性➕方法就是一个类1.2 什么是面向对象以类的方式组织代码,以对象的方式封装数据抽象(抽像):把像的部分抽取出来继承:子类继承父类的全部多态:不同的人学习能力不同(执行同一种方法的结果不同)对象:人;类:教师(一部分人的共同特征是老师)2 回顾方法及加深2.1 方法的定义break:跳出switch语句;结束循环写完return该方法已经结束,不能继续写方法名:注意规范,见名知意参数列表:(参数类型,参数名)或(…)原创 2021-07-10 16:47:45 · 209 阅读 · 0 评论 -
Java数组
1 数组的定义2 数组的声明和创建package com.joy.array;public class ArrayDemo01 { //变量类型 变量名 = 变量值; //数组类型 public static void main(String[] args) { int[] nums; //1.声明一个数组 (首选) int nums2[]; // 效果相同(非首选) nums = new int[10]; //2.创建原创 2021-07-06 00:07:34 · 170 阅读 · 0 评论 -
Java方法
1 什么是方法system是一个类(和Demo一样),out是一个(输出)对象,println是一个方法方法的命名规则:首字母小写,后面驼峰原则package com.joy.method;public class Demo01 { //main方法 //void 返回值类型 public static void main(String[] args) {// int sum = add(1,2);// System.out.print原创 2021-07-04 11:22:06 · 117 阅读 · 0 评论 -
Java流程控制:顺序结构、选择结构、循环结构
顺序结构package com.joy.struct;public class ShunXuDemo { public static void main(String[] args) { System.out.println("Hello1"); System.out.println("Hello2"); System.out.println("Hello3"); System.out.println("Hello4");原创 2021-07-02 23:52:34 · 386 阅读 · 0 评论 -
Java流程控制:用户交互Scanner、Scanner进阶使用
用户交互Scanner使用next()和hasNext()package com.joy.scanner;import java.util.Scanner;public class Demo01 { public static void main(String[] args) { //创建一个扫描器对象,用于接受键盘数据 Scanner scanner = new Scanner(System.in); System.out.pr原创 2021-07-01 13:20:30 · 167 阅读 · 0 评论 -
包机制、JavaDoc生成文档
包机制包的本质是文件夹package com.joy.operator;import com.joy.Base.Demo01;import com.joy.Base.*; //通配符,全部导入public class Demo01 { public static void main(String[] args) { //二元运算符 //command+D:复制当前行到下一行 int a = 10; int b = 2原创 2021-06-30 23:12:29 · 131 阅读 · 0 评论 -
Java基本运算符(自增自减运算符、初识Math类、逻辑运算符、位运算符、三元运算符)
基本运算符%:模,即取余逻辑运算符:与,或,非package operator;public class Demo01 { public static void main(String[] args) { //二元运算符 //command+D:复制当前行到下一行 int a = 10; int b = 20; int c = 25; int d = 25; System原创 2021-06-30 21:58:15 · 198 阅读 · 0 评论 -
Java类型转换、变量、常量、作用域
类型转换不同类型数据先转化为同一类型,然后进行运算容量从低到高(字节大小)小数优先于整数public class Demo05 { public static void main(String[] args) { int i = 128; byte b = (byte)i; //byte最大127,内存溢出 double a = i; //强制转换 (类型)变量名 高--低 //自动转换 低--高原创 2021-06-30 16:06:21 · 95 阅读 · 0 评论 -
Java注释、标识符和关键字、数据类型
注释注释类型单行注释 //多行注释 /* 注释 */文档注释 /** 注释 */平时一定要注意规范有趣的代码注释标识符和关键字常用关键字不能把以上关键字来起名字,会报错标识符Java所有组成部分都需要名字。类名、变量名以及方法名都被称为标识符。class后的HelloWorld是类名public static void后的main是方法名string后的teacher是变量名标识符注意点数据类型强类型语言:变量使用严格符合规定,所有变量必须定义后才能使用原创 2021-06-30 11:39:07 · 140 阅读 · 0 评论 -
Java程序运行机制、安装IDEA、IDEA入门
Java程序运行机制编译型(compile):有一个翻译的程序(编译器)把源代码翻译成计算机可以执行的代码,速度快。(操作系统、C/C++)解释型:执行一句翻译一句,灵活但性能损失。(网页、JavaScript、Python)Java先编译再解释安装IDEA学生邮箱ultimate版试用1年过期后可重新认证学生认证IDEA入门百度搜索IDEA优化Mac创建第一个IDEA项目Hello World!Command+Shift+. 可以显示隐藏文件、文件夹,再按一次,恢复隐藏f原创 2021-05-27 21:38:59 · 102 阅读 · 0 评论 -
JDK安装、卸载
JDK JRE JVMJava开发者工具JDK: Java Development KitJava运行时环境JRE: Java Runtime EnvironmentJava虚拟机JVM: Java Virtual Machine卸载JDK打开终端,输入sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin sudo rm -fr /Library/PreferencesPanes/JavaControlPane原创 2021-05-22 16:03:50 · 176 阅读 · 0 评论 -
基本的Dos命令
基本的Dos命令打开终端的方式快捷键方法打开cmmand+空格,弹出搜索,搜索终端,那么点击终端APP,即可打开,终端黑框内就是命令行LaunchPad-其他-终端常用的Dos命令列出文件(list)ls 参数 目录名参数 -w 显示中文,-l 详细信息, -a 包括隐藏文件#看看驱动目录下有什么ls /System/Library/Extensionsls -l /System/Library/Extensions转换目录(change directory)cd 目录原创 2021-05-10 18:56:58 · 126 阅读 · 0 评论 -
Markdown学习
Markdown学习标题三级标题四级标题字体Hello, world!Hello, world!Hello, world!Hello, world!引用选择狂神说Java,走向人生巅峰!分割线图片[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1S0x2NH7-1620546922089)(/Users/joyji/Birth Control.png)]超链接点击跳转到狂神b站列表ABCABC表格名字性原创 2021-05-09 15:57:22 · 105 阅读 · 0 评论