
数据库
文章平均质量分 96
gyros
这个作者很懒,什么都没留下…
展开
-
C++-数据结构-堆排序
目录堆排序1、最大堆定义:2、如何将随机数组生成一个最大堆?3、堆排序堆排序1、最大堆定义:例如下面的这个例子:就是一个最大堆2、如何将随机数组生成一个最大堆?1)源代码:#include <iostream>using namespace std;template<class T>void heapify...原创 2019-03-02 20:30:15 · 424 阅读 · 0 评论 -
C++递归法解决八皇后问题的超详细解答
博主初学C++数据结构与算法(清华大学出版社)第四版,由于程序清单5-2没有详细解答且代码不完整,思考了一个早上才恍然大悟,深感自己阅读代码以及写代码能力的不足,并在此记录,同时也希望也能帮到有需要的人!1、什么是八皇后问题?在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。例如下左图所示:可见,每个皇后所处...原创 2018-07-25 00:18:11 · 29351 阅读 · 8 评论 -
C++-数据结构-基数排序
基数排序1、基本思想:将整数按位数切割成不同的数字,依次按照个,百,千…位数进行排序并组合。a)得到一个无序的长度为10的数组b) 1)取数组元素的个位数,按照其个位数以及在数组的顺序依次放置,放置好后,从左往右从下往上合并。此时可以得出,若仅 看数组中的个位数,发现他们已经排序好了。 2)同理,取数组元素的十位数(...原创 2019-03-05 22:51:18 · 365 阅读 · 0 评论 -
C++-数据结构-快速排序
快速排序1、基本思想:a)得到一个无序的长度为11的数组b) 1)取数组中最大元素,并与末尾元素交换,即12与10进行交换; 2)选取位于数组中间位置(忽略末尾元素,因为末尾元素的位置已对)的元素作为边界值,并与数组首位的元素进行交换,即 6与8进行交换。 3)定义lower与upper索引,指向除去边...原创 2019-03-05 22:51:33 · 374 阅读 · 0 评论 -
C++-数据结构-希尔排序
希尔排序1、基本思想:a)从原始数据中每隔ht个元素(一个增量)挑选一个元素,作为子数组的一部分,原始数据便分成了几个数组。b)对原始数组的各部分进行排序。(分而治之)c)减少增量,重复a步骤,直至增量减为1。(慢慢合并)2、增量的选取3、复杂度:4、源代码#include <iostream>using namespace st...原创 2019-03-05 22:51:50 · 352 阅读 · 0 评论 -
C++-数据结构-基本排序方法
目录算法概述插入排序选择排序冒泡排序梳排序算法概述1、十种常见排序算法可以分为两大类:非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序。线性时间非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此称为线性时间非比较类排序。2...原创 2019-03-05 22:52:15 · 1127 阅读 · 0 评论 -
C++-数据结构-归并排序
感谢skywang12345博主提供相关内容的借鉴,https://www.cnblogs.com/skywang12345/p/3602369.html1、基本思想(自上而下):将两个的有序数列合并成一个有序数列,我们称之为"归并"。归并排序(Merge Sort)就是利用归并思想对数列进行排序。2、工作过程(自上而下)(对照下图):a)如图所示的数组进入mergeSortUp2...原创 2019-03-07 18:43:55 · 507 阅读 · 0 评论 -
C++ 二叉查找树各种功能的实现(插入、前中后递归非递归遍历、合并(复制)删除、节点个数与树深度、清空树)
1、简要概念根节点:没有父节点只有子节点。 叶结点:没有子节点。 二叉树:节点可以包含两个子节点(也可能是空)的树,每一个节点区分为左节点和右节点。 完全二叉树:所有的终端节点都有两个子节点,所有叶结点位于同一层次。 二叉查找树(有序二叉树):对于树中的每个节点n,其左子树中的所有值小于节点n中的值,其右子树中的所有值大于节点n中的值。2、二叉查找树各种功能实现#include...原创 2019-03-25 21:39:06 · 764 阅读 · 4 评论 -
C++ 单向链表各种功能的实现
#include<iostream>using namespace std;//注意三种情况:一是空链表;二是只有一个元素;三是两个及以上的元素template<class T>class IntSLLNode {public: IntSLLNode() { next = NULL; } IntSLLNode(T el, IntSLLNode<T&g...原创 2019-03-25 21:47:26 · 430 阅读 · 0 评论