
数据结构
Frank(Zhiyang-Dou)
A Ph.D. candidate at HKU. Mainly focus on CG.
展开
-
快速排序、归并排序的递归、非递归实现
概述:比较基础的数据结构题目。这里只给代码。 需要注意的是这个的快排基于萨尼的数据结构。可能与严版教材实现不同。 快速排序的非递归实现使用栈和队列实现均可。 只是处理左右段先后顺序的不同!注意:这里没有给出模版类的实现。需要模版类稍作改动即可。快速排序递归实现void swap(int &a,int &b){ int c =a; a = b; b = c;}void原创 2018-01-13 12:01:55 · 777 阅读 · 0 评论 -
[贪心算法]kruskal算法求最小生成树
原理图#图片来源http://blog.youkuaiyun.com/luoshixian099/article/details/51908175代码基于小根堆和并查集。测试是根据图中来的。 代码中含有将有向图化为无向图的部分。#include <iostream>#include <queue>#include <vector>using namespace std;int set[100];in原创 2018-01-13 20:17:04 · 1605 阅读 · 0 评论 -
数据结构复习提纲重点——萨尼
【排序】 补充: 高效的有序数组插入办法(从后往前直接开始后移) 选择排序、冒泡排序(及时终止的) 插入排序(借用高效的有序数组插入) 如何计算名次数组(从左到右依次加入后依次比较!) 按名次排序(借助于名次计算以及额外的数组) 原地排序(借助于名次计算不适用额外的数组) 箱子排序(n+range而且是稳定排序)基数排序(theta n) 归并排序(递归非递归)注意非递归的思想思路原创 2018-01-09 21:02:59 · 1078 阅读 · 2 评论 -
基于bellman-ford算法与spfa算法判断负环
概述spfa是基于bellman-ford算法(以下简称bf算法)改进的。也即将bf算法放入队列实现。说明当然bf算法还有一种优化方法就是。在外层循环k时,如果发现在构造新的一层路径生成树时整个树没有更新。这样可以直接跳出。具体实现可以在循环中加一个flag判断一下。 文字基于您已熟知spfa以及bf算法。负环判断方法1.bf算法更新完状态数组后,再遍历边集,如果对任原创 2018-01-18 11:14:54 · 1043 阅读 · 0 评论 -
QT-qtextedit怎么设置部分文字只读(部分可编辑)
综述最近在写一个文件系统。 基础架构写了一段时间了,基本差不多了。还需要用QT做一个shell交互程序界面。参考mac和linux以及windows的shell,都是一个text框中进行操作的。而且 在这一个text中只有最下一行可以输入 问题来了:如何qtextedit怎么设置部分文字只读?思路:跟踪我们的:光标!如果光标的位置改变(不是最下一行)那么将text设置...原创 2018-03-18 22:33:36 · 9618 阅读 · 4 评论 -
后缀数组实现字符串操作课程设计
综述最近数据结构课设的第二个要求做一个基于后缀数组的字符串操作程序。 后缀数组我就不多说了,关于性质和使用可以参见: 后缀数组详解环境QTcreator作者山东大学 基地Frankdura效果图程序下面直接给出源程序 dialog.cpp#include "dialog.h"#include "ui_dialog.h"#incl...原创 2018-05-10 19:14:46 · 422 阅读 · 0 评论 -
三角板棋盘覆盖问题及棋盘覆盖着色效果
综述最近在写数据机构第三个课程设计,是一个棋盘覆盖问题。采用分治思想,比较简单,开源一下。环境mac xcode 不必担心。你可能需要替换的只有简单的一行#include<GLUT/GLUT.h>#include <GLUT/GLUT.h>#include <iostream>using namespace std;int...原创 2018-05-10 19:20:17 · 1037 阅读 · 4 评论