如果是10万个找出10个,那么插入数据库,select就可以搞定(但是面试官不是考你数据库的)。 如果是10亿个找出10000个,就不那么简单了。 先拿10000个数建堆,然后一次添加剩余元素,如果大于堆顶的数(10000中最小的),将这个数替换堆顶,并调整结构使之仍然是一个最小堆,这样,遍历完后,堆中的10000个数就是所需的最大的10000个。 1.拿10000个数建立一个堆heap More
jdk排序用的什么算法? jdk排序的过程描述 N<47 插入排序 47<N<286 双轴快排 286<N 连续性好 归并排序(Timsort) 286<N 连续性不好 双轴快排 所以JDK的这道题考的非常深,你得知道全部jdk内用到的排序算法以及这些算法的时间复杂度。 快速排序 https://pdai.tech/md/algorithm/alg-sort-x-fast.html 堆排序 https://www.bilibili.com/vid More
一、QPS:Query Per Second 每秒查询数量 二、TPS:Transactions Per Second (每秒传输的事物处理个数),即服务器每秒处理的事务数。 区别,假设一个商品页面加载一次,会查询商品接口和广告接口各一次,那么计算tps的时候+1,计算qps的时候+2 假设一个系统最多会有7万用户,一天举行了一次直播,大家都来登录系统,在5分钟内全部完成登录系统,平均每分钟1.4万,每秒23 More
1 定义: 令牌算法是以固定速度往一个桶内增加令牌,当桶内令牌满了后,就停止增加令牌。上游请求时,先从桶里拿一个令牌,后端只服务有令牌的请求,所以后端处理速度不一定是匀速的。当有突发请求过来时,如果令牌桶是满的,则会瞬间消耗桶中存量的令牌。如果令牌还不够,那么再等待发放令牌(固定速度),这样就导致处理请求的速度超过发放令牌的速度。 More
shell脚本中判断上一个命令是否执行成功 shell中使用符号“$?”来显示上一条命令执行的返回值,如果为0则代表执行成功,其他表示失败。 结合if-else语句实现判断上一个命令是否执行成功。 示例如下: if [ $? -ne 0 ]; then echo "failed" else echo "succeed" fi if [ $? -eq 0 ]; then echo "succeed" else echo "failed" fi
pip install mysqlclient==2.1.1 NameError: name '_mysql' is not defined 有人说版本高了 pip install mysqlclient==1.4.6 symbol not found in flat namespace '_mysql_affected_rows' pip install mysql-Python 报错 ModuleNotFoundError: No module named 'ConfigParser' pip -V pip 21.2.4 from /Users/ge/opt/anaconda3/lib/py More
NEO4j CQL ORDER BY 使用简介 用来排序的 ASC DESC 适用 //清空数据 MATCH (n) DETACH DELETE n //创建数据 CREATE (:Person {name: 'Anne', age: 34, length: 172}) CREATE (:Person {name: 'Bob', age: 37}) CREATE (:Person {name: 'Jim', age: 26, length: 185}) NEO4j CQL ORDER BY 按一个属性排序 MATCH (n) RETURN n.nam More
NEO4j CQL SET使用简介 set语法用来修改节点和关系上的标签或者属性,这个修改包含了增加一个标签或者属性 创建两个个人,张三,李四 CREATE (:Person {name: '张三', age: 20}) CREATE (:Person {name: '李四', age: 25, worked: 'Google' }) CREATE (:Person {name: '王五', age: 26, hair: 'Short' }) CREATE More
NEO4j CQL REMOVE使用简介 REMOVE用来移除属性和标签 DELETE用来删除节点和关系 CREATE (:Person:Actor:Director {name: '周星驰', born: 1962}) CREATE (:Person:Actor {name: '吴孟达', born: 1952}) MATCH (p1:Person{name:'周星驰'}), (p2:Person{name:'吴孟达'}) CREATE (p1)-[:KNOWS{since:[1980]}]->(p2) 1. More
NEO4j CQL DELETE使用简介 我们使用NEO4j的CQL语句,可以删除一个节点,也可以删除一个关系 下图表示了假设微博用户张三跟随了李四和王五,而赵六和他们没有关系 CREATE (:User {name: '张三', age: 28}) CREATE (:User {name: '李四', age: 32}) CREATE (:User {name: '王五', age: 45}) CREATE (:User {name: '赵六 More