【Java】 大话数据结构(11) 查找算法(2)(二叉排序树/二叉搜索树)

本文根据《大话数据结构》一书,实现了Java版的二叉排序树/二叉搜索树。 二叉排序树介绍 在上篇博客中,顺序表的插入和删除效率还可以,但查找效率很低;而有序线性表中,可以使用折半、插值、斐波那契等查找方法来实现,但因为要保持有序,其插入和删除操作很耗费时间。 二叉排序树(Binary Sort Tree),又称为二叉搜索树,则可以在高效率的查找下,同时保持插入和删除操作也又较高的效率。下图为典型的二叉排序树。 二叉查找树具有以下性质:   (1) 若任意节点的左子树不空,则左子树上所有结点的值
分类: 其他 发布时间: 06-28 22:23 阅读次数: 2

网络学习-20180628

1、网络是什么 2、IP 3、网络设备的结构和市场 4、网络设备的运行 1、网络是什么 网络是计算机之间的连接和通信。实现资源共享。 2、IP IP是通信时计算机的唯一标识。用地址来标识。 IPV4,分为A\B\C三类网络。但并不是很完善。A太大了,B也过大,C太小了。都不适用于组织。 IP这块本质很简单。就是用一个地址,唯一标识计算机,以便通信时能互相找到计算机。 但IPV4由于设计不合理,不适合应用。导致IPV4太多的曲折应用来弥补不足。 如:子网、ABC三类网络、CIDR协议、NAT协议
分类: 其他 发布时间: 06-28 22:23 阅读次数: 0

众签demo

众签demo using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Security.Cryptography.X509Certificates; using System.Security.Cryptography; using System.IO; using System.Net.Net
分类: 其他 发布时间: 06-28 22:23 阅读次数: 0

hackerrankWeek of Code 31

hackerrankWeek of Code 31 A.Beautiful Word B.Accurate Sorting C.Zero-One Game D.Spanning Tree Fraction E.Colliding Circles F.Nominating Group Leaders G.Split Plane
分类: 其他 发布时间: 06-28 22:23 阅读次数: 2

团队第三次作业-王者终篇

github 地址 github gif图 在本次作业中,我们的王者光耀终于能动起来了 图如下。 每个人的博客 031702105 张凌昕 [031702116 阮君曦] 031702122 史恩泽 031702138 林鑫 我们小组的分工 我们小组的分工: 贡献程度: 031702116 阮君曦 27%; 031702138 林鑫 23%; 031702105 张凌昕 23%; 031702122 史恩泽 27%; 031702112 蓝飞鹏 0%;
分类: 其他 发布时间: 06-28 22:23 阅读次数: 0

Python之time与datetime模块

1、时间模块:time、datetime; 1)、时间戳(秒)1970年00:00:00定义为0;time.time() 2)、格式化的时间字符串 3)、元组(struct_time)9个元素:年、月、日、时、分、 秒、周几、一年的第几天0-6、tm_isdst=0; 获取方式:time.localtime() 互相转换: 时间戳---->元组形式: time.gmtime(时间戳):转化为国际时间元组形式
分类: 其他 发布时间: 06-28 22:23 阅读次数: 2

P4551 最长异或路径 (01字典树,异或前缀和)

题目描述 给定一棵 nn 个点的带权树,结点下标从 11 开始到 NN 。寻找树中找两个结点,求最长的异或路径。 异或路径指的是指两个结点之间唯一路径上的所有边权的异或。 输入输出格式 输入格式: 第一行一个整数 NN ,表示点数。 接下来 n-1n−1 行,给出 u,v,wu,v,w ,分别表示树上的 uu 点和 vv 点有连边,边的权值是 ww 。 输出格式: 一行,一个整数表示答案。 输入输出样例 输入样例#1: 4 1 2 3 2 3 4 2 4 6 输出样例#1: 7 说明 最长异或
分类: 其他 发布时间: 06-28 22:23 阅读次数: 0

golang锁记

golang中有两个锁实现 atomic的CAS实现锁 首先是inter cpu,熟悉汇编的人都知道,inter指令集有个lock,如果某个指令集前面加个lock,那么在多核状态下,某个核执行到这个前面加lock的指令的时候,inter会让总线锁住,当这个核把这个指令执行完了,再开启总线!这是一种最最底层的锁!!  HLT 指令(停止处理器)停止处理器直至接收到一个启用中断(比如 NMI 或 SMI,正 常情况下这些都是开启的)、调试异常、BINIT#信号、INIT#信号或 RESET#信号。
分类: 其他 发布时间: 06-28 22:23 阅读次数: 0

Mysql分区表及自动创建分区Partition

Range分区表建表语句如下,其中分区键必须和id构成主键和唯一键 CREATE TABLE `test1` ( `id` char(32) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '自增主键(guid)', `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `partition_key` int(8) NOT NULL COMMENT
分类: 其他 发布时间: 06-28 22:23 阅读次数: 0

go 覆盖测试工具介绍

go 覆盖测试工具介绍 原文链接 the cover story introduction Go 语言内置了许多工具,比如godoc (可以根据你在注释中的内容生成介绍文档,注释格式参照,godoc -http=:6060 -play运行一个playground),还有 gofmt(自动格式化代码),还有gofix(自动根据go的版本更新你的调用函数)。 test coverage 通常的覆盖测试的方法是构造二进制文件。比如 gcov 程序在程序的每个分支设置断点,一旦这个分支被执行,断点被清
分类: 其他 发布时间: 06-28 22:23 阅读次数: 2

MHA-Failover(GTID,Auto_Position=0)

最近一位同学遇到的案例:凌晨数据库意外宕机,要求在一主两从的基础上,搭建MHA做故障切换。在部署测试中遇到一些问题找到我,交流的过程挖出一些之前忽略的坑,感谢这位同学无私分享! • GTID环境,KILL主库,新主库和从库丢失数据(之前已知) • 在数据库进程挂掉,数据库服务器关机或重启、开启防火墙、关闭网络服务等状况下,测试MHA是否正常切换(之前没考虑脑裂问题) • 线上部分环境GTID,Auto_Position=0,故障切换会变成GTID,Auto_Position=1(之前没考虑)
分类: 其他 发布时间: 06-28 22:23 阅读次数: 2

用sys模块创建一个进度条

import sys import time def view_bar(num, total): rate = num / total rate_num = int(rate * 100) r = "\r%s>%d%%" % ("=" * num, rate_num,) # \r:回到当前行的第一个位置 sys.stdout.write(r) #这里不能用print,因为print会自动换行 sys.stdout.flush() # 用新的数清空
分类: 其他 发布时间: 06-28 22:23 阅读次数: 0

Python内存机制简介

1: 变量不是盒子,应该把变量视作便利贴。变量只不过是标注,所以无法阻止为对象贴上多个标注。标注就是别名: >>> a = [1, 2, 3] >>> b = a >>> a.append(4) >>> b [1, 2, 3, 4] 下面的代码中,lewis 和 charles 是别名,即两个变量绑定同一个对象。而 alex 不是 charles 的别名,因为二者绑定的是不同的对象。alex 和 charles 绑定的对象具有相同的值(== 比较的就是值),但是它们的标识不同。 >>> cha
分类: 其他 发布时间: 06-28 22:23 阅读次数: 0

P1049 装箱问题

题目描述 有一个箱子容量为 VVV (正整数, 0≤V≤200000 \le V \le 200000≤V≤20000 ),同时有 nnn 个物品( 0<n≤300<n \le 300<n≤30 ,每个物品有一个体积(正整数)。 要求 nnn 个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。 输入输出格式 输入格式: 111 个整数,表示箱子容量 111 个整数,表示有 nnn 个物品 接下来 nnn 行,分别表示这 nnn 个物品的各自体积 输出格式: 111 个整数,表示箱子剩余空间
分类: 其他 发布时间: 06-28 22:14 阅读次数: 2

Windows 98 二十岁了,这些功能都是从它开始的(虽然 Windows 98 不如 Windows 95 那样具有革命性,但完成度更高,更加成熟。到最后还是:相见不如怀念。)

1998 年 6 月 25 日午夜,美国著名连锁零售店 CompUSA 门外挤满了狂热的消费者和媒体,他们在等待一款软件发售:Windows 98,即使明知它要到当天早上才正式上市。 ▲ 在 CompUSA 外彻夜排队的消费者 图片来自:Editorial Archives 这一天是微软这款经典操作系统公开发售的日子,尽管在当年 4 月的发布会上,Windows 98 当着全场观众的面完成了一次史上最经典的蓝屏,让比尔-盖茨哭笑不得,但这并不妨碍 Windows 98 受到用户的喜爱和追捧。
分类: 其他 发布时间: 06-28 22:14 阅读次数: 2

Day19面向对象进阶-实例化对象、组合

名称空间:类的名称空间-->对象的名称空间 查询顺序:先从对象的名称空间去查,对象的空间没有此变量或者方法,通过对象中的类对象指针去类中寻找. 对象的问题:无论创建多少对象都是开辟独立的空间互相不能干扰\查找 组合:就是给一个类的对象封装一个属性,这个属性是另一个变量的对象。 class Game_role: def __init__(self, name, ad, hp): self.name = name self.ad = ad s
分类: 其他 发布时间: 06-28 22:14 阅读次数: 2

设置placeholder的样式

::-webkit-input-placeholder { /* WebKit browsers */ color:#A6A6A6; font-size: 16px; } :-moz-placeholder { /* Mozilla Firefox 4 to 18 */ color:#A6A6A6; font-size: 16px; } ::-moz-placeholder { /* Mozilla Firefox 19+ */ color:#A6A6A
分类: 其他 发布时间: 06-28 22:14 阅读次数: 2

[Database] Oracle 中的where 可以后接group by

SELECT e.DEPTNO,COUNT(e.EMPNO) FROM emp e WHERE e.DEPTNO=10 GROUP BY e.DEPTNO
分类: 其他 发布时间: 06-28 22:14 阅读次数: 2

leetcode 415. Add Strings

Given two non-negative integers num1 and num2 represented as string, return the sum of num1 and num2. Note: The length of both num1 and num2 is < 5100. Both num1 and num2 contains only digits 0-9. Both num1 and num2 does not contain any leading zero
分类: 其他 发布时间: 06-28 22:14 阅读次数: 2

jQuery的介绍

01-jQuery的介绍 1.为什么要使用jQuery 在用js写代码时,会遇到一些问题: window.onload 事件有事件覆盖的问题,因此只能写一个事件。 代码容错性差。 浏览器兼容性问题。 书写很繁琐,代码量多。 代码很乱,各个页面到处都是。 动画效果很难实现。 jQuery的出现,可以解决以上问题。 什么是 jQuery jQuery 是 js 的一个库,封装了我们开发过程中常用的一些功能,方便我们调用,提高开发效率。 js库是把我们常用的功能放到一个单独的文件中,我们用的时候,直
分类: 其他 发布时间: 06-28 22:14 阅读次数: 2