- 博客(18)
- 收藏
- 关注
原创 计算几何-凸包(2)
找凸包的O(nlgn)算法归约已知问题A的复杂度,未知问题B,如果A的输入能在O(n)时间内转成B的输入,B求解后的输出可以在O(n)时间内转为A的输出,则B>=A,即B的下界为Agarham sacn算法:O(nlgn)找出LIL对其余的点按照极角排序(toLeft),O(nlgn)构造两个栈,按如下代码,最终S即为所求,O(n)def scan: S = deque([1,2]) T = deque([3,4,...,n]) while len(T) &
2022-03-05 11:32:23 309
原创 计算几何-凸闭包(convex hull)
convex combination: 凸组合(系数和为1)convex set: 凸集(点集) 任一子集的凸组合仍是子集convex hull: 凸闭包[conv§] 凸集的所有子集的所有凸组合CH§: the boundary of conv§extreme points, EP定义:存在一条线L穿过点P,凸集中其他所有点在L的同一侧算法:查找凸集中所有extreme points思路:为遍历判断,EP不在任一三角形内, O(n^4)extreme edge, EE:定义:CH§的所有
2022-02-26 20:53:56 1578
原创 前端备忘录
文章目录html positionhtml display布局技巧html position参考static:默认,遵循流式定位relative:相对流式定位做偏移时使用,仍占用空间,top/bottom/left/rightabsolute:从文档流中脱离,相对"上一个定过位的父元素"定位,top/bottom/left/rightfixed:从文档流中脱离,相对文档定位,不会随scroll移动,top/bottom/left/rightfloat:从文档流中脱离,相对父元素浮动,不需要
2022-01-24 22:16:37 139
原创 Vue+Flask+Sqlite搭建系统
目录一、前端二、后端一、前端安装npm / yarnyarn安装vue-clivue create frontendvuex, routereslint + prettier[1, 2]二、后端flask
2022-01-24 12:14:34 1379 1
原创 C++备忘录
C++备忘录github二维数组#include<iostream>using namespace std;/* 创建二维数组*/int main() { // 已知大小 int arr_1[2][3] = { {1, 2, 3}, {4, 5, 6} }; // 未知大小 // 创建 int m = 2, n = 3; int** arr_2 = new int*[m]; for (int i = 0; i < m; i++) { arr
2022-01-07 20:37:14 610 1
原创 数据库:关系模型
关系:表元组:行属性:列关系实例:表中所有的行的集合域:一个属性的取值的集合数据库模式:数据库的逻辑设计数据库实例:给定时刻数据库中数据的一个快照关系:对应于变量关系模式:对应于类型关系实例:对应于值超码:一组属性的集合,可以唯一标识一个元组候选码:最小超码主码:选中的候选码r1的属性包含r2的主码,则称该属性为r1参照r2的外码,r1为参照关系,r2为被参照关系参照完整性约束模式图...
2020-06-13 17:51:07 176
原创 数据库:形式化关系查询语言
关系代数关系代数表达式附加的关系代数运算不增强表达式能力集合交自然连接赋值运算外连接扩展的关系代数运算增强表达式能力广义投影聚集元组关系演算域关系演算以上三种能力等价SQL基于关系代数,QBE,Datalog基于后两种...
2020-06-13 17:35:47 237
原创 数据库:索引
顺序索引搜索码记录的一个或多个属性聚集索引/主索引包含记录的文件按照搜索码指定的顺序排序,有聚集索引的文件称为索引顺序文件非聚集索引/辅助索引搜索码指定的顺序与文件记录的顺序不同索引项/索引记录由一个搜索码值和指向搜索码值对应的记录的指针的集合构成稠密索引每个搜索码值都有一个索引项,稠密聚集索引中每个索引项包含搜索码值和指向第一个具有搜索码值的记录,稠密稀疏索引中每个索引项包含指向所有具有搜索码值的记录稀疏索引只为搜索码的某些值建立索引,稀疏聚集索引中每个索引项包含搜索码值和指向第一
2020-06-12 19:53:33 256
原创 数据库:存储
物理存储磁盘访问时间=寻道时间+旋转等待时间数据传输时间平均故障时间磁盘访问的优化缓冲预读调度文件组织非易失性写缓冲区(NV-RAM)日志磁盘记录的表示定长记录记录的长度固定,一个文件分多个块,每个块存整数条记录,在删除时可以移动,也可以加一个文件头,记录第一个空闲的位置,第一个空闲的位置记录第二个空闲的位置···构成空闲列表,在插入时先在空闲列表中加,不够则加到文件末尾变长记录使用分槽的页结构维持空闲空间连续,删除时维护头部,插入时加在空闲空间尾部文件中
2020-06-12 19:00:34 237
原创 java总结:代码规范
主要来自:https://blog.csdn.net/mengxiangsun/article/details/79020226https://www.cnblogs.com/xiaocai0923/p/10698824.html命名规范所有的标示符都只能用ASCⅡ字母(A-Z或a-z)、数字(0-9)和下划线“_”。一个唯一包名的前缀总是全部小写的字母。例如:www.tonysun.cc类名是一个名词,采用大小写混合的方式,每个单词的首字母大写。例如:Tony。接口的大小写规则与类名相
2020-06-12 17:13:43 118
原创 java总结:MAVEN
摘自廖雪峰java教程Maven使用pom.xml定义项目内容,并使用预设的目录结构在Maven中声明一个依赖项可以自动下载并导入classpathMaven使用groupId,artifactId和version唯一定位一个依赖
2020-06-12 16:57:52 99
原创 java总结:异常
摘自廖雪峰java教程必须捕获的异常,包括Exception及其子类,但不包括RuntimeException及其子类,这种类型的异常称为Checked Exception。不需要捕获的异常,包括Error及其子类,RuntimeException及其子类。捕获异常使用try…catch语句,把可能发生异常的代码放到try {…}中,然后使用catch捕获对应的Exception及其子类在方法定义的时候,使用throws xxx表示该方法可能抛出的异常类型。调用方在调用的时候,必须强制捕获这些异
2020-06-12 12:57:53 94
原创 java总结:核心类
摘自廖雪峰java教程String字符串不可变。这种不可变性是通过内部的private final char[]字段,以及没有任何修改char[]的方法实现的两个字符串比较,必须总是使用equals()方法。要忽略大小写比较,使用equalsIgnoreCase()方法方法"Hello".contains("ll"); // true"Hello".indexOf("l"); // 2"Hello".lastIndexOf("l"); // 3"Hello".startsWith("He")
2020-06-12 12:10:31 107
原创 java总结:面向对象
摘自廖雪峰java教程参数绑定基本类型参数的传递,是调用方值的复制。双方各自的后续修改,互不影响引用类型参数的传递,调用方的变量,和接收方的参数变量,指向的是同一个对象。双方任意一方对这个对象的修改,都会影响对方因此在类的方法中传参时要注意引用类型的变量的使用,在传入一个string后在类外面给string重新赋值会使字符串指向新地址,因此类中的string不会受影响构造方法如果我们自定义了一个构造方法,那么,编译器就不再自动创建默认构造方法没有在构造方法中初始化字段时,引用类型的字段默
2020-06-12 01:42:58 165
原创 java总结:集合类
集合Github地址 有空继续补代码参考自廖雪峰java教程出现的原因:数组初始化后大小不能变数组只能按顺序存取java提供了List,Set,Map三种集合类接口,支持泛型,统一用Iterator遍历ListList接口方法:在末尾添加一个元素:void add(E e)在指定索引添加一个元素:void add(int index, E e)删除指定索引的元素:int remove(int index)删除某个元素:int remove(Object e)获取指定索引的元素
2020-06-12 00:27:10 124
原创 java总结:泛型
泛型Github地址参考自廖雪峰java教程Java使用擦拭法实现泛型,导致了:编译器把类型视为Object编译器根据实现安全的强制转型因此泛型:不能是基本类型,例如:int;不能获取带泛型类型的Class不能判断带泛型类型的类型不能实例化T类型泛型方法要防止重复定义方法,例如:public boolean equals(T obj)子类可以获取父类的泛型类型代码public class Pair<T,K> implements Comparable<Pai
2020-06-12 00:24:59 92
原创 java总结:HTTP
仿照廖雪峰的java教程中http相关部分用java实现TCP/UDP服务器和客户端实现简单的通信,以后有时间会进行功能扩展TCP服务器public class Server { public static void main(String[] args) throws IOException { ServerSocket ss = new ServerSocket(6666); System.out.println("TCP.Server is running
2020-06-11 21:00:28 162 1
原创 一个简单的网页计时器
一个简单的网页计时器作用记录浏览该网页用的时间实现js源码var hiddenProperty = 'hidden' in document ? 'hidden' : 'webkitHidden' in document ? 'webkitHidden' : 'mozHidden' in document ? 'mozHidden' : null;var visibilityChangeEvent = hiddenProperty.replace
2020-06-10 11:46:50 2386
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人