数据结构
打铁选手
这个作者很懒,什么都没留下…
展开
-
括号匹配问题(栈)
根据栈的先进后出特点 将遇到的左括号依次压入栈中 遇到右括号时取出栈顶元素(退栈处理) 比较栈顶元素和输入的括号是否想匹配 注意 1.判断的字符串流的奇偶性 2.注意输入的字符是否为所需的括号字符 3.考虑栈的栈顶和栈底是否溢出 4.栈在开始和结束时都应该是空的.所以匹配到最后还要判断栈是否为空,若非空,则匹配失败#include<stdio.h>#include<string.h原创 2017-09-24 21:16:03 · 1111 阅读 · 0 评论 -
迷宫问题(栈)
路径问题和最优路径 如图0为可走位置,1为不可走位置 求解思想: 用栈来实现解决问题,主要步骤是 (1)将迷宫的入口坐标设为当前坐标 (2)将当前坐标压栈,将当前坐标上的值设为-1(0变为-1),代表已走过的路 (3)判断当前坐标的四周(上下左右)是否是可以通(为0则通)的,如果是通的,那就将它的坐标设为当前坐标 (4)重复(2)(3)的操作 (5)若遇到如图1中标注的坐标,四周原创 2017-09-24 21:29:15 · 3639 阅读 · 0 评论 -
单链表逆置
明确题目要求不能使用额外的节点存储空间,额外的节点存储空间做中转。 在不使用额外存储节点的情况下使一个单链表的所有节点逆序? 可以通过迭代循环的思想来处理 使用头指针依次向后遍历,遇到数据结点时将相邻的两个前驱后继的关系进行一个逆置 首先考虑到头节点时空结点,略去头结点并释放 struct node *p= head; head = head -> next原创 2017-09-21 17:41:11 · 461 阅读 · 0 评论 -
数据结构绪论知识点的整合
数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科。 数据:描述客观事件的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。包括数值型和非数值型。(两个前提:该符号能输入到计算机中;能被计算机程序处理。) 数据元素:组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理,也被称为记录。(数据的组成部分) 数据项:原创 2017-09-21 18:08:58 · 509 阅读 · 0 评论 -
八皇后问题
八皇后问题原始解法DFS#include <iostream>#include<stdio.h> using namespace std;bool vis[9];int str[101][9];int path[9];int coun = 0;int n,k; //int path[]; error1void DFS(int tmp){...原创 2019-03-08 14:42:37 · 127 阅读 · 0 评论 -
互质数的最大不能组合数
给定A和B,A和B互质,求最大不能组合数,和不能组合数的个数。基础知识:GCD(A, B) =1 ⇒ LCM(A, B) = AB剩余类,把所有整数划分成m个等价类,每个等价类由相互同余的整数组成任何数分成m个剩余类,分别为 mk,mk+1,mk+2,……,mk+(m-1)分别记为{0(mod m)},{1(mod m)}……而n的倍数肯定分布在这m个剩余类中因为GCD(m,n)...原创 2019-03-11 13:42:35 · 1895 阅读 · 0 评论 -
单链表的实现(C++描述)
#include <iostream>#include <cstring>#include <cstdlib>#include <cstdio>#include <fstream>#include <cassert>#include <string>using namespace std;#defi...原创 2019-04-02 10:12:37 · 361 阅读 · 0 评论