![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
刷题基础知识
郑儿大人
努力成长的小青蛙
展开
-
【刷题基础知识】-排序专题
排序排序算法时间复杂度总览冒泡排序基本思想代码选择排序基本思想代码参考自十大经典排序算法(动图演示)和www.acwing.com,花花酱,再加上自己的一些理解排序算法时间复杂度总览冒泡排序基本思想从前到后,两两元素进行比较,前一个比后一个大则进行交换第一轮遍历后最后一个元素是最大的元素,第二轮遍历后会将倒数第二大的元素移动到倒数第二个位置上,不断重复遍历该组元素就会将元素按照升序进行排列代码基础代码:/* 这种写法的冒泡排序的时间复杂度一定是O(n^2)了*/#include &原创 2021-06-29 20:59:49 · 275 阅读 · 1 评论 -
【刷题基础知识】-哈希表
哈希表的概念桶排序由于通常排序的时间复杂度都是O(nlog(n)),当需要的表长不长,排序的元素集中在一个数据范围内,这种排序的时间更优总结字符哈希和正整数的哈希是有取值范围的通用的方法头插法的好处不需要额外遍历到尾部,需要额外开辟空间设置表长一般取质数会使哈希表比较分散节点维护开辟内存的工作一般放在算法之外维护比较好遍历vector来释放new的空间哈希有两种应用元素出没出现元素映射为新元素...原创 2021-03-20 09:36:07 · 90 阅读 · 0 评论 -
【刷题基础知识】-二分查找树
set本身是一个二叉查找树传递指针的好处:相当于是在外部进行管理节点,在函数内部只是管理指针的指向TIP:(一)算法和内存维护最好分开考虑如果混在一起,就不能单独操作一个节点了,缺少一些灵活性(二)new的节点记得delete(三)在创建树的时候,可以提前把所有创建好的节点放在vector数组中,然后利用vector数组中存放的节点,一次插入节点创建一个树,这样做的好处在于delete的时候可以直接删除vector即可...原创 2021-03-10 14:40:38 · 60 阅读 · 0 评论 -
【刷题基础知识】-二分查找
递归版循环版总结分治思想很容易用循环来实现一些回溯的算法很难用循环来实现原创 2021-03-08 21:15:37 · 84 阅读 · 0 评论 -
【刷题基础知识】-二叉树
二叉树层次遍历待更新…原创 2021-03-03 14:04:41 · 77 阅读 · 0 评论 -
【刷题基础知识】-归并排序
回溯和分治法都可以用递归来实现,也可以不用递归来实现注意的点:assert的使用,以及如何产生大量的随机数数据原创 2021-02-16 20:08:10 · 187 阅读 · 0 评论