数据结构第十章:内部排序
一、内部排序:是一个逐步扩大记录有序序列长度的过程 其中,希尔排序不稳定 1.直接插入排序:O(n*n)、O(1) 基于顺序查找的排序方法 将一个记录插入一个已经排好序的有序表L中,从而得到一个新的、记录数增加1的有序表 特点是:从2开始一个个判断是否比前一个元素要大,如果比前面的小的话就要以0单元为哨兵,从该元素的前一个位置往前查找,比它大的元素后移一位,直到找到比它小的元素, 此时这个比它小的元素的后一位的位置就是这个哨兵元素应该呆的地方啦。 平均情况下,直接插入排序的时间复杂度为O(n2
JVM探秘:Java内存区域
本系列笔记主要基于《深入理解Java虚拟机:JVM高级特性与最佳实践 第2版》,这这本书的读书笔记。 概述 Java 虚拟机为程序员分担了很多内存管理的工作,不再像 C/C++ 那样容易出现内存泄漏和内存溢出问题了,也正是这样,导致一旦出现了内存泄漏和溢出方面的问题,就难以排查。因此一个优秀的 Java 程序员应该对 Java 虚拟机有充足的了解,JVM 是你的必修课。 运行时数据区域 根据《Java虚拟机规范(Java SE 7版)》,JVM 所管理的内存区域的划分如下: 每个内存区域都有各
linux 添加常用长命令别名
## 设置linux下常用命令别名,提高效率 将要使用的命令别名写入到~/.bashrc文件,通过source ~/.bashrc命令使变更生效 alias sst='systemctl status'
alias ssa='systemctl start'
alias sso='systemctl stop'
alias sse='systemctl enable'
alias ssd='systemctl disable'
alias ssr='systemctl restart'
ali
codeforces-Educational Codeforces Round 79 (Rated for Div. 2)-B.Verse For Santa 题解
思路:输入完毕后,按顺序逐个累加数组中的数字,并用变量保存更新当前已累加的数组中最大的变量,当累加值大于规定时间时,判断当下变量是否大于保存的最大变量,若当下变量大,则跳过当下变量,若最大值大,则跳过最大值 代码:等小仙女解出来后再发
windows server 2012 R2系统的服务器 自带的.NET 4.5卸载后,重启服务器黑屏的解决方法
故障:服务器装的是windows server 2012 R2 (2012版本从低到高依次为Foundation、Essentials、Standard Datacenter,以及它们的升级版R2),由于要安装的应用系统是要用到.net framework3.5,所以,2012自带的.net 4.5版本需要卸载,但是卸载后问题来了——重启服务器黑屏、无法进入系统桌面,只能调出任务管理器(快捷键Ctrl+Alt+End)。 分析:卸载.net framework后,系统没有了图形界面(由完整模式
文档事件、图片事件和页面滚动事件
1 <!DOCTYPE html>
2 <html lang="zh">
3 <head>
4 <meta charset="UTF-8">
5 <title>文档事件</title>
6 <!-- 代码自身至下解析 -->
7 <script type="text/javascript">
8 var div = document.querySelector('div');
9 console.log(div);
netty基础知识讲解
EventLoopGroup表示线程池,EventLoop表示线程,channel表示通道(客户端和服务端的连接) EventLoopGroup包含EventLoop,一个EventLoop包含一个Selector,一个Selector可以处理多个channel new NioEventLoopGroup() 默认创建的线程池线程数量是系统cpu核数*2
如何快速融入一个团队?
一 我们难免需要离开一个圈子,加入一个陌生的集体。毋庸置疑,离开熟知的圈子,走向未知的圈子难免会产生许多畏惧甚至情怯,这都是人之常情,但不同的性格驱使我们会做出不同的决定。 外向者也并非时时刻刻外向,但他们习惯于把自己表现在更多陌生人面前,这使得他们总是看起来易于被人接受。 而内向者总是纠结于自己可能会犯错,而失去了展示自我的机会。他们纠结于自己的小圈子,总是需要花特别长的时间才能真正融入集体。 二 一个人加入一个新团队,就像一滴热水突然坠入一片冰河之中。 有时候总需要一场破冰行动,说不定这场
初始Mysql的索引
mysql的索引优化 近段时间在学习mysql,这篇博客就从以下三个方面谈谈对mysql的索引的理解。如有不足,还请留言交流。 一 为什么要用索引 一项技术的产生一定是为了解决某个问题,或者是迎合某项业务需求的。所以对于技术,我们就应该本着求真,严谨,热爱的态度来学习使用它。因为每项技术都凝结着无数人的智慧,在推动着社会的发展。 那么mysql的数据库中为什么要使用索引,以下面这个场景为例,假设数据库中有10万条图书数据,要根据书籍的作者查询一本书。以此来比较不使用索引和使用索引的查询速度。
[转载]屏幕PPI、分辨率到底需要多大才能满足?
屏幕PPI、分辨率到底需要多大才能满足? 郝蛋儿 江湖骗子 13 人赞同了该文章 最近想买一个43寸的电视,720P和1080P差了500大洋。我不禁纠结了起来。看网上争得面红耳赤,有的人说不如1080清晰,有的人说肉眼看不出区别。我也拿不定主意。看来,很多人都对此不够理解。 没办法,只能深入的研究一下了。 以下报告。 先说明分辨率和PPI。分辨率是量(屏幕上有几个像素),PPI是密度(每单位上的像素数量)。实际上,单单拿出这两个值,是无法去回答我们今天的问题的。因为在不同的屏幕尺寸上,分辨率
Java 8 —— Lambda表达式
Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。 Lambda表达式可以使代码变得更加简介紧凑。 语法 (parameters) -> expression
或
(parameters) -> { statements; } 特征: 可选类型声明:不需要声明参数类型,编译器可以统一识别参数值。 可选的参数圆括号:一个参数时可以不用添加圆括号,但多个参数或没有参数时需要加圆括号。 可选的大括号:如果只有一条语句,可以省略大括号。 可选的返回关键字:如果主体只有一个表达式返
Mac os 安装MySql
一、官网下载dmg文件。选择所需要的版本,我这里选择的5.7 https://downloads.mysql.com/archives/community/ 二、 安装 双击下载好的文件进行安装 记录下密码 三、配置 配置环境变量 vim ~/.bash_profile
加入
PATH=$PATH:/usr/local/mysql/bin
保存(vim 中先按 Esc键,在输入 :wq)
source ~/.bash
(一)Ubuntu 18 下安装使用 C++ ODB 连接mysql
系统环境: 虚拟机-Ubuntu 18.04.3 虚拟PC 软件-VMware 15.5 我个人使用的Ubuntu 下载地址:http://releases.ubuntu.com/18.04.3/ubuntu-18.04.3-desktop-amd64.iso 安装下载完成如下: 注意:先重新配置好下载源。 第一步 :下载ODB环境 这里采用命令行下载 安装成功以后 lib会安装在 /usr/lib/x86_64-linux-gnu include会在/usr/include/odb bin会
go语言中 json转换--nil
go语言中如果一个变量的值为nil,是否能否为json? 如果能否转换,转换后的结果是什么? 下面直接看下例子。 package main
import (
"encoding/json"
"fmt"
)
func main() {
marshalTest()
}
func marshalTest() {
b, err := json.Marshal(nil)
if err != nil {
fmt.Pri
今日推荐
周排行