![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法与数据结构
文章平均质量分 77
热河路的IT男
这个作者很懒,什么都没留下…
展开
-
常见的排序算法及其复杂度分析
1.常见算法分类十种常见排序算法一般分为以下几种:非线性时间比较类排序:交换类排序(快速排序和冒泡排序)插入类排序(简单插入排序和希尔排序)选择类排序(简单选择排序和堆排序)归并排序(二路归并排序和多路归并排序);线性时间非比较类排序:计数排序基数排序桶排序。总结:(1)在比较类排序中,归并排序号称最快,其次是快速排序和堆排序,两者不相伯仲,但是有一点需要注意,数据初始排序状态对堆排序不会产生太大的影响,而快速排序却恰恰相反。(2)线性时间非比较类排序一般要优于非.转载 2022-03-28 15:23:47 · 16671 阅读 · 1 评论 -
二叉搜索树的相关操作
二叉搜索树的概念二叉搜索树又称二叉排序树,它或者是一颗空树,或者是具有以下性质的二叉树若它的左子树不为空,则左子树上的所有结点的值都小于根结点的值。若它的右子树不为空,则右子树上的所有结点的值都大于根节点的值。它的左右子树也分别为二叉搜索树。二叉搜索树的数据结构(同普通二叉树)typedef struct TreeNode{ char data; struct TreeNode* lchild; struct TreeNode* rchild;};二叉搜索树的创建templ原创 2022-03-13 22:55:32 · 1799 阅读 · 0 评论 -
AcWing算法题常用代码模板
一、基础算法1、常用代码模板快速排序算法模板—— 模板题 AcWing 785. 快速排序算法步骤: ①确定分界点 ②调整区间 ③递归处理左右两段Tips: ①如果输入数据量比较大的话,用scanf输入更快,不要使用cin。 ②只要背诵一种万能模板即可避开所有边界问题。 ③考试时一般不会用到快排,面试时喜欢考察。 ④ #include<bits/stdc++.h>包含了目前c++所包含的所有头文件 。 ⑤分治一般用不到,只要掌握快速排序和归并排序就行。原创 2021-11-18 10:19:08 · 6599 阅读 · 9 评论