![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
读书笔记
文章平均质量分 53
用于记录自己的易忘记知识
3分人生
这个作者很懒,什么都没留下…
展开
-
MySQL数据库回顾(1)
概述:指从多张表中查询数据笛卡尔积:笛卡尔乘积是指在数学中,两个集合A集合 和 B集合的所有组合情况。(在多表查询时,需要消除无效的笛卡尔积)原创 2024-06-18 22:20:50 · 1285 阅读 · 0 评论 -
堆排序算法
1.为什么堆可以实现排序?我们知道最小堆的最上面的数一定是最小的(最大堆最上面是最大的),因此堆排序的过程就是取出堆的根部最大或最小值,然后再去维护堆变成最大堆或最小堆,再取出,再维护的过程,而维护的过程时间复杂度是O(logN),取出所有数的时间复杂度是O(N),因此整体时间复杂度是O(NlogN)和快速排序一样的。首先得知道堆是一种完全二叉树的数据结构,可以分为最大堆和最小堆,堆的储存方式是用一维数组储存。如下图就是最小堆,而最大堆就是最小堆倒过来,上面的数要大于下面的数。原创 2023-12-21 17:55:36 · 626 阅读 · 0 评论 -
贪心算法讲解
贪心算法是根据一直取局部最优解来达到全局最优,但有时候不一定正确,就拿上面这题为例,如果题目改为试卷没写完只写一部分的没有价值,那贪心算法在这就不能使用了,这就考到了动态规划。原创 2023-11-19 09:33:23 · 57 阅读 · 0 评论 -
深搜和广搜的应用——帮元歌找傀儡
深度搜索和广度搜索都能解决这个问题,深搜与广搜相比深搜占用的内存相对较小,但在深度很大的时候效率不高这也很容易理解,广搜需要数组来列队占用大量内存,而深搜需要多次遍历且标识后还要取消,所以计算较慢。原创 2023-11-16 10:54:39 · 130 阅读 · 3 评论 -
归并排序(c语言)————求逆序数
归并排序(Merging sort)就是把初始序列分为有n个排序好的子序列,每个子序列的长度为1,然后两两合并排序,如此重复,直到合并为长度为n的有序序列为止(2路归并函数)实现归并排序可以使用递归和循环两种方法下面是递归运用到的定义函数。原创 2023-12-12 13:41:00 · 640 阅读 · 1 评论