
Data Stucture
Epiphany1234
这个作者很懒,什么都没留下…
展开
-
【HNU暑假集训】相等的多项式
问题描述小明现在在学习多项式的展开:就是把一个形如(x+a1) (x+a2) … (x+an)展开成如下形式:xn + b1xn-1 + b2xn-2 + … + bn-1x + bn比如 (x+1)(x+2)=x2 + 3x + 2 (x+1)3 = x3 +3x2 +3x + 1小明做了很多练习,但是不知道对错,现在请求你的帮助,判断小明的展开式是否正确。输入格式有多组测试数据。每组测试数据有三行,第一行是一个正整数N,表示多项式最高指数。N=0表示输入结束,并且不需要处理。第原创 2021-09-14 19:53:25 · 234 阅读 · 0 评论 -
【暑假集训】电话号码
【问题描述】Vasya有几本电话簿,记录了他的朋友们的电话号码,每一个朋友都可以有一或几个电话号码。Vasya决定整理关于朋友电话号码的信息。给定n个字符串,来自于Vasya的电话簿中的条目。每一条都以朋友的姓名开头,然后跟着当前条目中的电话号码个数,然后是本人的电话号码。有可能几个相同的电话被记录在同一个记录中。Vasya还认为,如果电话号码a是电话号码b的后缀(也就是说,号码b以a结尾),这两个号码被当作同一个电话号码,那么a被认为是无城市代码,它不应该被考虑。输出整理后Vasya朋友的电话号码原创 2021-07-15 10:58:58 · 205 阅读 · 0 评论 -
【暑假集训】拼写检查
【问题描述】 作为一个新的拼写检查程序开发团队的成员,您将编写一个模块,用已知的所有形式正确的词典来检查给定单词的正确性。 如果字典中没有这个词,那么可以用下列操作中的一个来替换正确的单词(从字典中): 1. 从单词中删除一个字母; 2. 用一个任意字母替换单词中的一个字母; 3. 在单词中插入一个任意字母。 你的任务是编写一个程序,为每个给定的单词找到字典中所有可能的替换。#include<iostream>#include<algorithm&原创 2021-07-13 22:09:41 · 158 阅读 · 0 评论 -
【暑假集训】数圈
【问题描述】以1为中心,用2,3,4, …, n, …, n*n的数字围绕着中心输出数圈, 如若n=4,则7 8 9 106 1 2 115 4 3 1216 15 14 13【输入形式】一个整数n(1<=n<=10)【输出形式】数圈矩阵#include<iostream>#include<vector>const int MAX = 1000;// const int CENTER_X = 200;// const int CENTER_Y原创 2021-07-13 22:07:08 · 110 阅读 · 0 评论 -
【暑假集训】内存分配
内存管理//alloc n —— 分配n个字节内存,返回已分配块的正整数标识符x(x初始值为0,每//次分配增长1)//erase x —— 删除标识符x所在的块//defragment —— 整理空余内存碎片,将所有块尽量靠近内存的开始位置,//并保持各自的顺序#include<iostream>#include<string>#include<vector>#include<unordered_map>const int ORIG原创 2021-07-09 13:31:47 · 137 阅读 · 0 评论 -
红黑树的实现
很多红黑树的原理,但是依据原理把数据结构敲出来还是不容易这里给出红黑树实现代码,参考了《算法导论》,读者可以参考一下红黑树实现代码#ifndef _RBTREE_#define _RBTREE_#include<iostream>#include<queue>using namespace std;//RBTree implementationenum RBTColor {RED,BLACK};template<typename E>class RB原创 2021-07-03 15:24:17 · 159 阅读 · 3 评论 -
AVL的代码实现C++‘
AVL树的代码实现这里先粘贴代码给大家的忠告,一定要及时去实现,不然之后再实现要花跟多的时间/* *平衡二叉树应该有些功能 *插入 删除 查找 *前序遍历 中序遍历 后序遍历 层次遍历 *统计结点数目 */ //代码已经调,写了很久才写出来 //#ifndef _AVLTREE_#define _AVLTREE_#include<iostream>#include<vector>#include<queue>#include<ma原创 2021-06-01 15:43:14 · 230 阅读 · 5 评论 -
平衡二叉树代码实现
class Link#ifndef _DFLIST_#define _DFLIST_template<typename E>class Link{ private: static Link<E>* freelist; public: E element; E height; Link<E>* lchild; Link<E>* rchild;原创 2021-03-23 20:43:58 · 128 阅读 · 0 评论 -
快速排序(C++)
调了一个多小时才调好不说了,上源代码/* *Quick sort is a kind of algorithm which can sort quickly *Time complexity is O(n*log n) *The algorithm is based on divide and conquer to decrease duplicate computation *First : We choose a pivot which usually is the first elemen原创 2021-03-14 17:09:44 · 102 阅读 · 0 评论 -
归并排序的实现
终于调通归并了/* *本算法核心思想为 divide and conquer *本头文件用于实现归并排序,该排序的算法复杂度为O(n*logn) * 而且算法稳定,不会退化为O(n*n) */ #ifndef _MERGESORT_INCLUDE_#define _MERGESORT_INCLUDE_/* *origin 是原数组(存放最开始的元素) *low 是区间的最小下标, high是最大下标 ( [low, high)) *target 是目的数组,也是存放排序好的数组原创 2021-03-13 13:00:45 · 112 阅读 · 0 评论 -
大数据的加减乘除实现(用的vector)
```cpp/* *该头文件用于实现大数据计算,用于实现python的大数,因为之后可能会用到大数据计算 *ADT *我没有写两个大数据的乘法,因为它相当于许多个小乘法的组合 *我不会写两个大数据的除法(呜呜呜~~.我太菜了) * 该文件的接口为BigData类模板,有加减乘除和比较的实现 */ #ifndef _BIGDATA_INCLUDED_#define _BIGDATA_INCLUDED_#include<vector>#include<string&.原创 2021-03-12 17:20:56 · 437 阅读 · 0 评论 -
数据结构与学习算法
关于数据结构与算法“数据结构 + 算法 = 程序”我们程序员写程序在解决大量问题后发现很多问题都有相似的解决方法和简便方法,就把它抽象出来为算法,与之对应的设计思想就是数据结构,有了这两个利器,我们写程序解决实际问题就有规可循,有了好的推导和实现方式第一章数据存储的几种方式顺序存储 (类似于数组)链式存储 (指针,地址)索引方法 (高效查询)散列方法 (散列表 开很大的空间 哈希)抽象数据类型(ADT)与数据结构数据抽象与过程抽象抽象数据类型| data | data e原创 2021-03-05 00:03:05 · 138 阅读 · 3 评论