数据结构
努力和行动都不会白费得
重庆邮电大学 信息与通信工程学院 通信核心芯片团队,研一
展开
-
暴力搜索
腾讯2018春招技术类编程题汇总1/6[编程题]翻转数列时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32M,其他语言64M小Q定义了一种数列称为翻转数列:给定整数n和m, 满足n能被2m整除。对于一串连续递增整数数列1, 2, 3, 4..., 每隔m个符号翻转一次, 最初符号为'-';。例如n = 8, m = 2, 数列就是: -1, -2, +3, +4, -5, -6, +7, +8.而n = 4, m = 1, 数列就是: -1, +2, -3, + 4原创 2021-04-04 14:49:12 · 140 阅读 · 0 评论 -
leetcode 动态规划 零钱兑换
[C++] LeetCode 322. 零钱兑换Leetcode--322--零钱兑换【C++、动态规划】class Solution {public: int coinChange(vector<int>& coins, int amount) { vector<int> dp(amount+1,amount+1);//初始化为amount+1个amount+1.使得凑成金币i的硬币数为amount+1 .原创 2021-03-11 11:01:05 · 122 阅读 · 0 评论 -
贪心算法
力扣455 分发饼干力扣376 摆动序列原创 2020-12-07 11:31:44 · 82 阅读 · 0 评论 -
优先队列--堆
视频https://www.bilibili.com/video/BV13E411W7rU/?spm_id_from=333.788.videocard.0原创 2020-12-06 22:49:07 · 70 阅读 · 0 评论 -
栈
#include<stdio.h>#include<malloc.h>#include<stdlib.h> struct node{ int data; struct node *pnext; };struct stack{ struct node* ptop;//栈顶指针,永远指向栈顶元素 struct node* pbottom;//栈底指针 ,指向最后一个有效元素的下面一个元素 }; //传入参数栈指针 void initStac原创 2020-11-25 16:11:15 · 89 阅读 · 0 评论 -
链表
#include<stdio.h>#include<stdlib.h>struct Node{ int data; //数据域 struct Node * pNext;//指针域 };//Node等价于 struct Node Pnode 等价于struct Node*; struct Node* creat_list(void);void traverse_list(struct Node * pHead);bool is_empt...原创 2020-11-24 21:16:14 · 146 阅读 · 0 评论 -
层序遍历 求解迷宫问题
求由(1,1)到终点的最短步数,并输出对应的路径。1.利用层序遍历,不断扩展延伸。2.用队列存储。存储父亲节点,找其所有的儿子节点。然后父节点出队,儿子节点变为新父节点,然后找新父节点的所有儿子节点,以此类推。3.用数组实现队列。/*层序遍历实现广度优先搜索。*/#include"stdio.h"#include"string.h"int next[4][2]={...原创 2019-10-07 20:02:37 · 206 阅读 · 0 评论 -
二叉树的建树及同构判别
前序建立和访问二叉树#include<stdio.h>#include<stdlib.h> //malloc 头文件 typedef char Elentype;//二叉树节点 typedef struct BiTNode{ char data;//存储数据 struct BiTNode *lchild;//指针域,指向左孩子节点。 struct BiTNode *rchild;//指针域,指向右孩子节点 。 }BiTNode;//按照中序遍历创建.原创 2019-09-30 16:42:58 · 175 阅读 · 0 评论 -
层序遍历(利用队列遍历二叉树)
A入队,A出对,B,C入队。B出队 D,F入队。C出对 G,I入队。D出队F出队 E入队G出队 H入队I出队E出队H出队遍历顺序 ABCDFGIEH...原创 2019-09-29 21:12:31 · 2601 阅读 · 1 评论 -
二分查找
贪吃的小Q 小Q的父母要出差N天,走之前给小Q留下了M块巧克力。小Q决定每天吃的巧克力数量不少于前一天吃的一半,但是他又不想在父母回来之前的某一天没有巧克力吃,请问他第一天最多能吃多少块巧克...原创 2019-09-29 20:48:13 · 87 阅读 · 0 评论 -
深度优先搜索 全排列
参考:啊哈算法 p74页递归的执行过程#include"stdio.h"int n;//1-n的全排列int a[20];//默认初始化为零int book[20];//默认初始化为零void dfs(int step) //step 第几个数字{ if(step==n+1)//判断是否可以结束递归/递归结束条件 { int...原创 2019-09-22 17:40:32 · 361 阅读 · 1 评论 -
深度优先搜索
递归也是顺序执行#include"stdio.h"int min_step=9999;//min_step别忘记赋一个特别大的初值,保证第一次计算得到的结果能够正确赋值。int ishavegone[100][100];//用来标记某次路径是否走过x,y.走过等于1,没有走过等于0,需要定义成全局的,定义成局部的,递归的时候函数看不到,因为其生存期有限。 i...原创 2019-09-22 15:40:18 · 163 阅读 · 0 评论 -
二叉树的先序遍历,中序遍历,后序遍历。递归实现
经历的路线一样,也就是递归调用的地址入口一样,这个要分析递归的过程才能得出 。原创 2019-09-11 17:32:21 · 352 阅读 · 0 评论 -
树
树和图公司招聘要求是:伪算法一.树的定义定义:1.有且只有一个称为根的节点 2.有若干个互不相交的子树,这些子树本身也是一颗树。通俗的树:1.树由节点和边(指针域)组成。2.每个节点只有一个父节点但可以有多个子节点,但有一个节点例外,该节点没有父节点,此节点成为根节点。专业术语:节点 父节点 子节点 子孙 堂兄弟深度:从根节点到最底层的层数 ,根节点是第一层。叶子节点 :没有子...原创 2019-09-03 12:02:11 · 104 阅读 · 0 评论 -
栈的 创建,入栈,出栈,清空栈,遍历栈 的实现
数据结构 的学习视频 https://www.bilibili.com/video/av6159200?from=search&seid=6709590585276522157一 算法:栈: 数据进出,类向箱子放东西和拿东西,先进后出,或者说后进先出。栈分为静态栈和动态栈两种,静态栈用数组实现,动态栈用链表实现。算法 出栈 入栈(压栈),遍历,清空。1.创建栈...原创 2019-07-27 16:47:54 · 22742 阅读 · 6 评论