- 博客(18)
- 资源 (14)
- 收藏
- 关注
原创 一招解决Qt应用程序问题:This application failed to start because no Qt platform plugin could be initialized.
一招解决Qt应用程序问题:This application failed to start because no Qt platform plugin could be initialized.Reinstalling the aoolication may fix this problem.1.找到Qt安装目录,将编译器中的plugin目录下面的platform目录整个拷贝到所运行程序的目录下面。程序正常运行。...
2021-03-11 13:40:42
22136
6
转载 C#在使用异步委托完成时获得通知
使用BeginInvoke方法来启动异步委托,使用第一个参数向异步委托传递一个回调委托。该回调委托将在异步委托完成处理时在方法被调用的线程上调用DelegateCallback方法。如果该线程当前正在执行其他代码,回调将等待至线程空闲为止。线程将继续存在,因为系统知道一个回调在挂起,所以不需要考虑回调准备好调用时线程不存在的情况。using System;using System.Coll...
2019-04-24 09:23:16
1116
原创 基本算法之回溯法
回溯法是搜索问题解的一种系统方法。回溯法求解首先需要定义一个解空间,这个空间至少包含问题的一个最优解。回溯法的下一步是组织解空间,使空间便于搜索,典型的组织方式是树或者图。一旦确定了解空间的组织方式,这个空间即可按照深度优先的方式从节点进行搜索。在0-1背包问题中,开始节点为根节点,开始节点为一个活动节点又是一个E-节点。从E-节点试着移动到一个新的节点。如果从当前的E-节点移动到一个新的...
2019-04-21 20:30:31
716
转载 解释C++的智能指针
C++智能指针的理念是用对象将内置的指针包裹起来。这些智能指针要么指向某个对象,要么等于NULL,也就是说,他们总能得到初始化,而且绝对不会指向已经释放的内存。智能指针如果不是NULL,那么必须指向有效的内存。 智能指针要带有引用计数,而且要将其所指的内存合理地释放掉(这意味着,它能够安全地应对异常,同时又不会发生内存泄漏)。 智能指针用起来应该与内置地指针差不多 ...
2019-04-18 21:28:45
218
转载 解释C++的重载机制
C++允许开发者对同一范围内的某个函数或者运算符给出多种不同的定义,这分别称为函数重载和运算符重载。重载声明是指其名称与同范围内的原有声明相同,而参数和定义有所不同的声明。 调用重载函数或运算符时,编译器会把实际的参数类型与各定义中所指定的形式参数类型进行比较,并选出最为合适的定义。这个用来确定最合适的重载函数或运算符的过程就叫做重载解析。C++中的函数重载 ...
2019-04-17 20:55:43
675
原创 二叉树常见的几种操作和问题
二叉树的定义:一棵二叉树t是有限个元素对集合(可以为空)。当二叉树非空时,其中一个元素称为根,余下的元素被划分成两棵二叉树,分别称为左子树和右子树。二叉树的特性:一棵二叉树有n个元素,他有n-1条边 一棵二叉树的高度为h,他最少有h个元素,最多有个元素,此时称为满二叉树 一棵二叉树有n个元素,他的高度最大为n,最小高度为二叉树的常见操作:二叉树的节点结构template&l...
2019-04-05 17:01:42
708
原创 数据结构与算法之二叉搜索树
看到有个家伙写的很好:二叉查找树(二)之 C++的实现二叉搜索树的定义:一棵二叉树,可能为空;一棵非空的二叉搜索树满足以下特征:每个元素有一个关键字,并且任意两个元素的关键字都不同,因此,所有的关键字都是唯一的。 在根节点的左子树中,元素的关键字(如果有的话)都小于根节点的关键字。 在根节点的右子树中,元素的关键字(如果有的话)都大于根节点的关键字。 根节点的左、右子树也都是二叉搜索...
2019-03-30 15:58:48
331
原创 数据结构与算法之堆排序
堆排序:先用n个待排序的元素来初始化一个大根堆,然后从堆中逐个提取元素(删除)。每次都取堆顶的元素,将其放在序列最后面,然后将剩余的元素重新调整为最大堆,依次类推,最终得到排序的序列。结果这些元素按照非递增的顺序排列。初始化时间为O(n),每次删除的时间为O(logn),因此总时间为O(nlogn)。#include<iostream>#include<vector>...
2019-03-30 11:43:42
255
原创 数据结构与算法之左高树
知识点来源于参考书籍《数据结构、算法与应用》,本人仅作整理与记录,方便日后复习查看。左高树的定义: 设x是扩充二叉树的一个结点,并令left_child(x)和right_child(x)分别表示内部结点的左、右儿子。定义shortest(x)为从x到一个外部结点的最短路程长度。 令s (x)为从节点x到它的子树的外部节点的所有路径中最短的一条,根据s(x)的定义可...
2019-03-29 21:40:20
1250
原创 数据结构与算法之堆
声明:博客主要知识点内容来自参考书《数据结构、算法与应用》,本篇博客的主要目的是记录学习过程,方便日后复习。堆的定义:一棵大根树(小根树)是这样一棵树,其中每个节点的值都大于(小于)或等于其子节点(若有子节点的话)的值。一个大根堆(小根堆)既是大根树(小根树),也是完全二叉树。堆的常见操作:大根堆的插入操作:插入过程基本是这样的,将新的元素插入新的节点,然后沿着新的节点到根节点的路径,...
2019-03-29 14:59:05
971
原创 数据结构与算法之汉诺塔问题
汉诺塔问题 描述:假设有n个碟子和三座塔。初始时所有的碟子从大到小叠在第一座塔上,现在需要将所有的碟子移动到第二座塔上,每一次移动一个碟子,而且在任何时候大碟子都不能放在小碟子上面。在移动的过程中,可以借助第三座塔。 求解思路:采用递归的思路解决问题,为了将最大的碟子移动到第二座塔上面,我们需要将最上面n-1个碟子移动到第三座塔上面。然后,我们需要做的又是...
2019-03-24 13:48:07
442
原创 数据结构与算法之括号匹配问题
在各大公司的笔试题中,我们经常会遇到关于括号匹配的问题。其实匹配问题中主要运用到的数据结构就是栈,例如对一个字符串进的左右括号进行匹配,字符串(a*(b+c)+d)在位置0和位置3有左括号,在位置7和10有右括号,位置0的左括号与位置10的右括号相匹配,位置3左括号和位置7的右括号进行匹配。在字符串(d+f))( 中,位置5的左括号和位置6的右括号都没有与之相配的括号。在这种问题一...
2019-03-24 12:33:47
984
原创 数据结构与算法之插入排序
插入排序的基本思想: 在有序数组中插入元素:例如,在数组a[0:4] = [2,4,6,8,9]中插入3,结果是a[0:5] = [2,3,4,6,8,9]。因此,从数组的最右端开始,将元素依次向右移动一位直到找到元素的插入位置为止。template<class T>void insert(T a[],int n, const T&x){ int ...
2019-03-19 21:31:01
143
原创 数据结构与算法之计数排序
计数排序的基本思想:在一个数组中对每个元素按大小进行排名次,一个元素的名次是数组中比他小的元素的个数加上左边出现的与之相等的元素的个数(备注:这里名次越高说明元素越大)。例如数组a=[5,4,2,5,8,9],新建一个相同大小的数组用于保存数组元素的名次,得到名次数组 R=[2,1,0,3,4,5]。 名次计算C++代码template<class T>vo...
2019-03-18 22:17:24
192
原创 数据结构与算法之冒泡排序
冒泡排序的基本思想:冒泡排序采取一种简单的“冒泡策略”,两个数进行比较,将大的一个扔到右边去的基本策略。在一次冒泡过程中,相邻的元素进行比较。如果左边的元素大于右边的元素,则两者进行交换。假设现有数组[6,5,8,4,3,1],首先将6,5进行交换得到[5,6,8,4,3,1],再将6,8进行比较,不交换,再将8,4进行比较,交换得到[5,6,4,8,3,1],再将8,3交换得到[5...
2019-03-18 21:54:45
161
原创 数据结构与算法之选择排序
选择排序的基本思想:给数组元素进行排序,首先找出数组中最大的元素,将它移到a[n-1],然后在余下的n-1个元素中找到最大的元素,把它移动到a[n-2]。如此循环下去,直到只剩下一个元素。 以下是具体实现的C++代码template<class T>void selectionSort(T a[] , int n){ //给数组a[0:n-1]的...
2019-03-18 21:36:43
161
原创 数据结构与算法之箱子排序 (链表描述)
问题描述:假定用一个链表保存一个班级学生的清单,每个节点的数据域有学生姓名和分数。我们需要对学生们的分数进行排序,其中n为学生总数,箱子排序的思想是首先将分数相同的节点放在同一个箱子里,然后将箱子连接起来就得到有序的链表。 假设分数介于0-5之间,则需要6个箱子,每个箱子对应一个分数。每一个箱子都是一个链表。一个箱子的节点数介于0-n之间,n为总人数。开始时,所有的箱子全...
2019-03-17 22:32:35
375
原创 Python 《外星人入侵》游戏源代码以及存在的问题
在python的练手小游戏项目中,项目中主要用到 pygame 模块包进行创作,项目的具体细节不在赘述。文章后面会贴出项目的有关介绍。现在就我在练习该项目时遇到的问题。项目开发环境:windows10 + python3.6问题1:小游戏的程序基本功能实现,但是在游戏的过程中随着外星人被击落的数量增多,屏幕上存活的外星人数量越来越少时外星人移动的节奏加快,飞船的节奏也明显加快,因为随着游戏...
2018-05-24 13:37:10
4923
1
Django入门项目实践
2018-05-27
《卷积神经网络》
2018-05-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人