数据结构与算法
yang8930
这个作者很懒,什么都没留下…
展开
-
最大子列和问题
给定K个整数组成的序列{ N1, N2, …, NK },“连续子列”被定义为{ Ni, Ni+1, …, Nj },其中 1 <= i <= j <= K。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ -2, 11, -4, 13, -5, -2 },其连续子列{ 11, -4, 13 }有最大的和20。现要求你编写程序,计算给定整数序列的最大子列和。 求{4,-3,5,原创 2017-11-12 12:41:52 · 254 阅读 · 0 评论 -
队列的简单使用
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。循环队列#include<stdio.h>#include<stdlib.h>#define MAXSIZE 10//入队队尾指针+1,q->rear=(q->rear+1)%MAXS原创 2018-03-30 12:42:38 · 198 阅读 · 0 评论 -
线性表的学习总结一
作为一名通工转cs的coder,这学期中终于开始学习数据结构,在此做一些学习总结,以下是实现的一些功能:建立链表求链表长度打印数据按序号查找按值查找单链表的插入,按序号插入删除链表第i个元素倒置链表单链表中删除重复节点,排序思想,双重循环进行比较冒泡排序定义结构体 struct node { int num; struct node *next; }; t...原创 2018-03-26 12:55:40 · 1925 阅读 · 0 评论 -
栈的实现
栈是一种只允许在一端进行插入和删除的线性表,通常将表中允许进行插入、删除操作的一端称为栈顶 (Top),表的另一端被称为栈底 (Bottom),栈的插入操作被形象地称为进栈或入栈,栈的删除操作称为出栈或退栈,当栈中没有元素时称为空栈。 特点:后进先出(LIFO)知识点:栈空状态 s->top=-1;栈满状态 s->top=MAXSIZE-1出栈,判断栈空;入栈和读...原创 2018-03-28 12:46:47 · 187 阅读 · 0 评论 -
二叉树递归遍历及其相关操作
二叉树的基本结构是由根节点、左子树、右子树三个部分构成。其有3中遍历方式: 1. 先序遍历:根节点、左子树、右子树 2. 中序遍历:左子树、根节点、右子树 3. 后序遍历:左子树、右子树、根节点 输入的二叉树AB#DG###CE##FH###,3种遍历节点序列如下: 1.先序遍历: ABDGCEFH 2.中序遍历: BGDAECHF 3.后序遍历: GDBEHFC...原创 2018-05-17 18:58:25 · 285 阅读 · 0 评论