数据结构
朝歌1122
计算机科学与技术
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构-线性表-栈
栈,是一种只能在表尾进行插入或删除操作的线性表。按照先进后出的原则储存数据。先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据。 栈的相关概念:栈顶与栈底:允许元素插入与删除的一端称为栈顶,另一端称为栈底。压栈:栈的插入操作,叫做进栈,也称压栈、入栈。弹栈:栈的删除操作,也叫做出栈栈的相关操作:弹栈,通常命名为pop压栈,通常命名为push求栈的大小判断栈是...原创 2018-06-02 18:31:09 · 308 阅读 · 0 评论 -
数据结构 二叉树遍历创建
数据结构,二叉树的创建,递归,非递归。#include<stdio.h>typedef char datatype;typedef struct node{ datatype data; struct node *lchild,*rchild;}bintnode;typedef struct stack{ bintnode *data...原创 2018-11-14 21:19:53 · 281 阅读 · 0 评论 -
数据结构 将两个有序顺序表合成一个有序顺序表
题目: 有顺序表A和B,其元素均按从小到大的升序排列,编写一个算法,将它们合并成一个顺序表C,要求C的元素也按从小到大的升序排列代码:#include<stdio.h>#define MAX 100typedef int datatype;typedef struct{ datatype a[MAX]; int size;}sequenc...原创 2018-09-14 21:51:37 · 14429 阅读 · 0 评论 -
数据结构 顺序表 将顺序表以a1为界重新排列 前面比a1小,后面比a大
题目: 将顺序表(a1,a2,…,an)重新排列以a1为界的两部分:a1前面的值均比a1小,a1后面的值均比a1大(这里假设数据元素的类型具有可比性,不妨设为整型)代码:#include <stdio.h>#include <stdlib.h>#define MAXSIZE 100typedef int datatype;typ...原创 2018-09-14 20:03:02 · 4618 阅读 · 0 评论 -
数据结构 线性表 输入一数插入到有序表中,是生成的线性表任然有序
有序线性表从大到小排列,西安插入一个数,插入后的线性表依然是有序线性表。代码如下:#include <stdio.h>#include <stdlib.h>#define Max 100 // 定义数组的最大长度typedef int Datatype; // 定义数组元素的数据类型typedef struct{ Datatype d...原创 2018-09-10 20:47:56 · 3716 阅读 · 0 评论 -
数据结构 栈总代码
#include<stdio.h>#define MAX 100typedef int datatype;typedef struct{ datatype a[MAX]; int top;}sequence_stack;void init(sequence_stack *L){ L->top=0;}int empty(sequenc...原创 2018-09-17 15:56:19 · 426 阅读 · 0 评论 -
数据结构 顺序表总程序
数据结构课本上的所有的关于顺序表的所有的算法总结。 代码如下:#include<stdio.h>#define MAX 100typedef int datatype;typedef struct{ datatype a[MAX]; int size;}sequence_list;void init(sequence_list *L){...原创 2018-09-16 18:55:03 · 454 阅读 · 0 评论 -
数据结构 - 线性表-双向循环链表
双向循环列表是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。 一个例子:输入一个数,然后给二十六个字母排序,如果输入的是整数,就将字母向后移这个整数个位,如果是负数,就向前移这个整数个位。首先,建立一个空节点,然后按照上图的循环开辟空间赋值。#include<stdio.h...原创 2018-06-02 16:26:24 · 426 阅读 · 0 评论 -
数据结构 线性表 约瑟夫问题
约瑟夫问题:著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数到3,循环直到所有人都自杀身亡为止。然而Josephus 和他的朋友并不想遵从,于是,他将朋友与自己...原创 2018-06-01 20:14:18 · 848 阅读 · 0 评论 -
数据结构 -线性表 -循环表
不用头指针,而是用指向终端结点的尾指针来表示循环链表,这个就是循环列表。如图:那么要判断单链表中是否有环,主要有以下两种方法: 方法一:使用p、q两个指针,p总是向前走,但q每次都从头开始走,对于每个节点,看p走的步数是否和q一样。如图,当p从6走到3时,用了6步,此时若q从head出发,则只需两步就到3,因而步数不等,出现矛盾,存在环。 方法二:使用p、q两个指针,p每次向前走一步,q每次向前走...原创 2018-06-01 19:22:23 · 524 阅读 · 0 评论 -
数据结构 线性表 递归实现八皇后问题
百度 八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 高斯认为有76种方案。1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法解出92种结果。 ...原创 2018-06-05 20:09:52 · 448 阅读 · 0 评论 -
数据结构 线性表 递归实现汉诺塔
关于汉诺塔的问题,谷歌如下:最早发明这个问题的人是法国数学家爱德华·卢卡斯。传说越南河内某间寺院有三根银棒,上串64个金盘。寺院里的僧侣依照一个古老的预言,以上述规则移动这些盘子;预言说当这些盘子移动完毕,世界就会灭亡。这个传说叫做梵天寺之塔问题(Tower of Brahma puzzle)。但不知道是卢卡斯自创的这个传说,还是他受他人启发。若传说属实,僧侣们需要264 − 1步...原创 2018-06-05 17:02:05 · 347 阅读 · 0 评论 -
数据结构 线性表 递归和迭代实现斐波那契数列问题
斐波那契数列指这个数列从第3项开始,每一项都等于前两项之和。 问题:已知一对兔子每一个月可以生一对小兔子,而一对兔子出生后.第三个月开始生小兔子假如一年内没有发生死亡,则一对兔子开始,第N个月后会有多少对? 这个兔子问题就可以用斐波那契数列来解觉。 首先呢,我们用迭代的方式。#include&...原创 2018-06-05 16:47:16 · 375 阅读 · 0 评论 -
数据结构 线性表 通过递归的方式输出反字符串
任意输入一个字符串,以#结束,然后反向输出。比如,输入abcdefg#,输出的就是gfedcba。分析如下图。难度在于,是任性输入的字符串,也就是不知道,是输入多少位。用递归的方法就比较简单。代码如下:#include<stdio.h>void print(){ char a; scanf("%c",&a); if( a != '#' ) { prin...原创 2018-06-04 22:03:22 · 360 阅读 · 0 评论 -
数据结构-线性表-栈的实例二进制转化为十进制
二进制转化为十进制,是从一串二进制数的末尾(右边)开始,每位上数(0或1)×2^该数是第几个(从0开始)。 例如:二进制数1101.01转化成十进制 1101.01(2)=1*20+0*21+1*22+1*23 +0*2-1+1*2-2=1+0+4+8+0+0.25=13.25 所以总结起来通用公式为 abcd.efg(2)=d*20+c*21+b*22+a...原创 2018-06-02 18:48:29 · 926 阅读 · 0 评论 -
区块链-如何利用Merkle树验证交易(Merkle 树和简单支付验证(SPV))
目录:https://blog.csdn.net/qq_40452317/article/details/89646633Merkle树:https://blog.csdn.net/qq_40452317/article/details/90482721中说明了Merkle树的一些原理以及提到如何证明某条交易是否存在于该区块中。现在详细的说一下Merkle树怎么验证交易,以及Me...原创 2019-05-23 17:26:08 · 6616 阅读 · 1 评论
分享