排序大杂烩
一.排序的概念及引用: 1.排序的概念: 所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 2.稳定性 :假定在待排序的记录序列中, 存在多个具有相同的关键字的记录 ,若 经过排序 ,这些 记录的
Map和Set及哈希
一 搜索树: 1.概念:二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树:(1). 若它的左子树不为空,则 左子树上所有节点的值都小于根节点的值(2). 若它的右子树不为空,则 右子树上所有节点的值都大于根节点的值
MySQL数据库介绍及基础操作
一.数据库介绍 1.文件保存数据有以下几个缺点:1.1文件的安全性问题 1.2文件不利于数据查询和管理 1.3文件不利于存储海量数据 1.4文件在程序中控制不方便为了解决上述问题,专家们设计出更加利于管理数据的软件——数据库,它能更有效的管
探讨MySQL中 “约束“ 下的查询
一. 数据库约束:1.约束类型汇总:约束类型说明NULL约束使用NOT NULL指定列不为 空UNIQUE唯一约束指定列为唯一的、不重复的DEFAULT默认值约 束指定列为空时的默认值主键约束(primary key)NOT NULL 和
数据结构之AVL树的 “奥秘“
二叉树查询性能分析:插入和删除操作都必须先查找,查找效率代表了二叉搜索树中各个操作的性能对有n个结点的二叉搜索树,若每个元素查找的概率相等,则二叉搜索在二叉搜索树树平均查找长度是结点的深度的函数,即结点越深,则比较次数越多如图: 下面就是
数据结构之红黑树的 “奥秘“
一.红黑树概念 1.红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black。 通过对任何 一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路径会比其他路径长出俩倍,因而是接近 平衡的。
数据库之索引<保姆级文章>
一. 什么是索引:1. MySQL的索引是⼀种数据结构,它可以帮助数据库高效地查询、更新数据表中的数据。 索引通过 ⼀定的规则排列数据表中的记录,使得对表的查询可以通过对索引的搜索来加快速度 2.MySQL 索引类似于书籍的目录,通过指
两个数组的交集
题目:方法一:哈希,常人都可以想到直接用哈希看是否包含另一个数组即可:这里记得去重:代码语言:javascript代码运行次数:0运行复制for(int i = 0; i < nums1.size(); i++) hash.put(n
括号匹配 “亲兄弟”
1.题目:2.解析:这个题和括号匹配很相似,都可以用栈解决。方法一:直接定义栈,遍历字符串,peek一下字符,是否和栈里的字符相等,相等就出栈,不相等入栈。这里注意字符输出顺序,可以再定义一个栈帮助输出:代码:代码语言:javascript
牛牛的快递
1.题目:解析:(1)这里主要是处理细节:超过1千克向上取整,怎么处理;这是原理:代码:代码语言:javascript代码运行次数:0运行复制public static void main(String[] args) {Scanner i
动态规划入门题目
1.题目:2.解析:做题模式:步骤一:找状态转移方程步骤二:初始化步三:填表步骤四:返回-> dp[n]dp[i]表示到达 i 位置最小花费逻辑:要爬到楼顶先找到 i 位置 ,要找到 i 位置先找到 i-1,和 i-2位置总结:状态
数组中两个字符串的最小距离
1.题目:2.解析:这里利用预处理思想:要找多个位置先记录下某个位置:这里 i 遍历来记录s1,和s2的位置,不断更新来找到最小距离。代码:代码语言:javascript代码运行次数:0运行复制public static void mai
Fibonacci数列最小步数
1.题目:2.解析: 让a,b,c回滚构造斐波那契数列 :a=b, b=c, c=a+b;输入的数 n小于c,在b,c之间,只要 n+1 或者 n-1(贪心思想:n只加一或者只减一)最后再求n-b,c-n的最小值,获得最小步数 代码:代码语
二分查找一>:在排序数组中查找元素的第一个和最后一个位置
1.题目: 2.解析:这里不能用传统二分,因为涉及范围,传统二分时间复杂度会降为O(N),要做些改动。步骤一:查找区间左端点细节图:步骤二:查找区间右端点: 细节图:代码: 代码语言:javascript代码运行次数:0运行复制publi
Mysql中的事务
一:事务的ACID特性及为什么要使用事务 : 1.事务的ACID特性:事务的ACID特性指的是 Atomicity (原子性), Consistency (一致性), Isolation (隔离性)和 Durability (持久性)
二分查找一>x 的平方根
1.题目: 2.解析:代码:代码语言:javascript代码运行次数:0运行复制 public int mySqrt(int x) {if(x < 1) return 0;long left = 1,right = x;while(
二分查找一>搜索插入位置
1.题目: 2.题目解析:这里巧妙利用二段性,找出符合题目前面两种情况,注意情况三target在数组外代码: 代码语言:javascript代码运行次数:0运行复制public int searchInsert(int[] nums, in
初识动态规划一>第 N 个泰波那契数
1.题目: 2.解析:动态规划解题模板解释:本题:1.状态方程:dp[i]第i个泰波那契数2.状态转移方程:根据题意得:把Tn+3 = Tn + Tn+1 + Tn+2,变为Tn = Tn-3 + Tn-2 + Tn-1。3.初始化:先把d
二分查找一>山脉数组的峰顶索引
1.题目: 2.解析:代码:代码语言:javascript代码运行次数:0运行复制public int peakIndexInMountainArray(int[] arr) {int left = 1, right = arr.lengt
二分查找一>寻找峰值
1.题目: 2.解析:暴力遍历代码:O(N),由于该题数据很少所以可以通过代码语言:javascript代码运行次数:0运行复制暴力遍历:O(N),由于该题数据很少所以可以通过int index = 0;for(int i = 1; i &

