上海交大ACM班C ++算法与数据结构
文章平均质量分 92
阿航626
这个作者很懒,什么都没留下…
展开
-
上海交大ACM班C++算法与数据结构——数据结构之二叉树
上海交大ACM班C++算法与数据结构——数据结构之二叉树1.树基本操作:- 建树create()- 清空clear()- 判空IsEmpty()- 统计结点数size()- 找根结点root():找出树的根结点值;如果树是空树,则返回一个特殊值- 找父结点parent(x):找出结点x的父结点值;如果x不存在或x是根结点,则返回一个特殊值- 找子结点child(x,i):找结点x的第i个子结点值; 如果x不存在或x的第i个儿子不存在,则返回一个特殊值- 剪枝remove(x,i):删原创 2022-05-01 17:59:32 · 327 阅读 · 0 评论 -
上海交大ACM班C++算法与数据结构——数据结构之队列
上海交大ACM班C++算法与数据结构——数据结构之队列1.队列的定义先进先出的线性表基本操作:- 创建- 入队- 出队- 读取- 判断是否为空虚构类实现 template <class elemType> class queue{ public: virtual bool isEmpty() = 0; //判队空 virtual void enQueue(const elemType &x) = 0原创 2022-05-01 11:01:28 · 406 阅读 · 2 评论 -
上海交大ACM班C++算法与数据结构——数据结构之栈
上海交大ACM班C++算法与数据结构——数据结构之栈1.栈的定义后进先出LIFO,first in last out,(先进后出FILO,first in last out)的线性表(有关线性表可查看:上海交大ACM班C++算法与数据结构——数据结构之线性表)基本操作:(由于栈只能在栈顶进行操作,所以基本操作相比普通线性表要少)- 建栈- 入栈- 出栈- 读栈(读栈顶元素)- 查看栈是否空虚构类实现 template <class elemType> class原创 2022-04-30 14:50:54 · 1899 阅读 · 0 评论 -
3上海交大ACM班C++算法与数据结构——数据结构之线性表
上海交大ACM班C++算法与数据结构——数据结构之线性表1.线性表定义虚构类里面全部是虚构函数,以此为基类的类必须全部实现规定的功能才能实例化,以此来规定相应的类的功能。无需构造函数,因为可以在每个类的构造函数中完成。虚析构函数:即使虚构类里面没有数据也要加上虚析构函数,这样当指针指向基类时候发现析构函数是虚的,就会去找子类的析构函数,防止内存泄漏。虚析构函数是为了解决父类指针指向子类对象时,释放子类对象的资源时,释放不完全,造成的内存泄漏问题。基本操作- 建空表- 清空- 求表长原创 2022-04-30 10:21:09 · 431 阅读 · 0 评论 -
上海交大ACM班C++算法与数据结构——C++算法初级2
上海交大ACM班C++算法与数据结构——C++算法初级21.排序交换a和b:swap(a,b);稳定:在排序前的序列中,相同的元素排序前后相对位置不改变。(跳着排序的算法一般不稳定)O:不超过,Ω:不少于选择排序- 选出最小的元素放在首位,再选出第二小的元素放在第二位……- 时间复杂度O(n^2)- 不稳定- 示例代码: #include <bits/stdc++.h> using namespace std; int a[1010]; int n;原创 2022-04-24 01:14:50 · 503 阅读 · 0 评论 -
上海交大ACM班C++算法与数据结构——C++算法初级1
上海交大ACM班C++算法与数据结构——C++算法初级11.算法目标:用一个算法解决一类问题不仅要符合数学规律,还要有实际意义算法描述方法:自然语言:方便面对面交流流程图:直观伪代码:可以清晰了解程序流程,并便于计算出复杂度,忽略一些代码实现的细节程序语言:与计算机沟通算法特性:有穷性:算法的指令或者步骤的执行次数和时间都是有限的;确切性:算法的指令或步骤都有明确的定义,无二义性;可行性:算法的执行步骤必须是可行的。输入、输出2.数据结构研究数据的存储方式(原创 2022-04-21 13:06:37 · 1705 阅读 · 0 评论 -
上海交大ACM班C++算法与数据结构——C++基础
上海交大ACM班C ++算法与数据结构——C++ 基础原创 2022-04-14 12:45:03 · 1473 阅读 · 0 评论