- 博客(6)
- 收藏
- 关注
转载 快速幂
快速幂 顾名思义,快速幂算法是对幂运算的一个加速优化,其算法框架基于分治算法(二分)之上。 接下来,介绍两种优化方法。·基本快速幂算法 首先,给出传统求幂的代码:#include<iostream>using namespace std;int main(){ unsigned long long a,b; ...
2019-01-20 16:18:00
141
转载 队列的各种实现方式
队列是什么??? 今天我们来谈一谈队列。 队列同样是一种线性表,但其运算受到一定的限制。其限制在于仅允许在队的一段(这里我们把它叫做队尾)进行插入操作,另一端(把它叫做队首)则进行删除操作。 这和现实生活中的排队类似,由于有秩序,整个队列遵循先进先出原则。故又把队列称为先进先出表。 我们首先用数组对其进行模拟。队列之数组实现://数组模拟队列...
2018-12-13 22:18:00
396
转载 堆栈应用(后序表达式)
堆栈应用之后序表达式 要求设计一个程序,能读取一个合法的中序表达式,将其转化为后序表达式并计算求值,输入的表达式可包括“+”“-”“*”“/”、正整数与圆括号,以“ # ”表示一个数字结束。 这里,我们可以考虑堆栈思想来实现整个操作过程。 首先,我们使用两个堆栈分别来储存结果与操作符,用一个字符串来储存中序表达式。至于有何作用我们待会儿再说。#includ...
2018-12-11 18:13:00
252
转载 堆栈的多种实现方式
何谓堆栈 堆栈是一种只能在一端进行插入或删除操作的线性表,属于逻辑结构。有数组与指针两种实现方式。 堆栈的主要特点为后进先出,每次进栈的新元素都在原来的栈顶元素之上,每次出栈的元素也是原来的栈顶元素。如下图: 下面给出堆栈的两种实现方式。堆栈之指针实现:#include<cstdio>#include<cstdlib>...
2018-12-09 10:50:00
341
转载 链表的多种实现方式
链表是什么??? 链表是一种区别于顺序储存的非连续、非顺序的物理储存结构,也就是说,不像队列、堆栈之类的逻辑数据结构,它只是一种数据储存的物理结构。我们所使用的数组便是一种物理储存结构。 但与数组不同的是,它是链式储存的,而数组采用了顺序储存。 那么,什么是顺序储存与链式储存呢(⊙o⊙)? 顺序储存:把逻辑上相邻的结点存储在物理位置上相邻的存储单元,即每个结点之...
2018-12-08 22:18:00
274
转载 归并排序
排序算法之归并排序 归并排序是一个稳定且高速的排序算法,同快速排序一样,时间复杂度为O(nlogn)。 这个算法非常好用,这里先给出代码. 1 #include<iostream> 2 using namespace std; 3 4 int a[100],cp[100]; 5 void Msort(int l, int r)//Mer...
2018-12-03 22:29:00
86
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人