----- 数据结构
谙忆
Java相关研发架构工作经验5年。拥有Java相关发明专利8余项。从事过支付行业,研发与架构的系统稳定地支撑着公司日千万交易笔数量级的支付和对账。
二手车SaaS内核研发3年经验+,拥有二手车行业SaaS相关发明专利6项,研发、架构的元数据内核与权限系统,每日亿万级接口调用。
Java企业开发丰富的理论知识和实战经验。2020年CSDN博客之星第12名,同时在一些社区担任名誉职位。认证为CSDN博客专家、CSDN专栏签约作者、InfoQ签约作者、阿里云ACE杭州同城会会长、阿里云社区认证专家、华为云·云享专家。
展开
-
HDOJ/HDU 1556 Color the ball(树状数组)
Problem Description N个气球排成一排,从左到右依次编号为1,2,3….N.每次给定2个整数a b(a <= b),lele便为骑上他的“小飞鸽”牌电动车从气球a开始到气球b依次给每个气球涂一次颜色。但是N次以后lele已经忘记了第I个气球已经涂过几次颜色了,你能帮他算出每个气球被涂过几次颜色吗?Input 每个测试实例第一行为一个整数N,(N <= 100000).接下来的N原创 2016-05-26 22:11:02 · 4289 阅读 · 0 评论 -
C++栈和队列
使用标准库的栈和队列时,先包含相关的头文件#include<stack>#include<queue>定义栈如下:stack<int> stk;定义队列如下:queue<int> q;栈提供了如下的操作s.empty() 如果栈为空返回true,否则返回false s.size() 返回栈中元素的个数 s.pop()原创 2015-08-28 10:46:04 · 2936 阅读 · 0 评论 -
【算法入门】广度/宽度优先搜索(BFS)
广度/宽度优先搜索(BFS)【算法入门】1.前言广度优先搜索(也称宽度优先搜索,缩写BFS,以下采用广度来描述)是连通图的一种遍历策略。因为它的思想是从一个顶点V0开始,辐射状地优先遍历其周围较广的区域,故得名。 一般可以用它做什么呢?一个最直观经典的例子就是走迷宫,我们从起点开始,找出到终点的最短路程,很多最短路径算法就是基于广度优先的思想转载 2015-08-28 10:54:09 · 1794 阅读 · 0 评论 -
结构体类型定义的一般式
struct 结构体名{ 类型名1 域名1; 类型名2 域名2; 类型名3 域名3; 类型名4 域名4; ... ... 类型名n 域名n;};说明:结构体类型是用户自定义类型,使用时需要按照规定的形式定义类型标识符,然后才能定义相应类型的变量。例如:struct student/**定义了一个结构体类型,类型标识符为 struc原创 2015-09-08 19:53:14 · 1619 阅读 · 0 评论 -
struct和typedef struct
“`typedef声明,简称typedef,为现有类型创建一个新的名字,或称为类型别名,在结构体定义,还有一些数组等地方都大量的用到。 比如: typedef int DataType; 给整型int起了一个新名字DataType,以后用DataType就如同int一样。 分三块来讲述: 1 首先://注意在C和C++里不同 在C中定义一个结构体类型要用typedef:原创 2015-09-08 20:07:46 · 1224 阅读 · 0 评论 -
排序算法简介及其C实现
排序算法(Sorting Algorithm)是计算机算法的一个组成部分。排序的目标是将一组数据 (即一个序列) 重新排列,排列后的数据符合从大到小 (或者从小到大) 的次序。这是古老但依然富有挑战的问题。Donald Knuth的经典之作《计算机程序设计艺术》(The Art of Computer Programming)的第三卷就专门用于讨论排序和查找。从无序到有序,有效的减小了系统的熵值,增转载 2015-09-18 16:42:20 · 1500 阅读 · 0 评论 -
实验一 线性表的基本操作
一、线性结构的顺序表基本操作 实验目的 1.学会定义单链表的结点类型、线性表的顺序存储类型,实现C程序的基本结构,对线性表的一些基本操作和具体的函数定义。 2.掌握顺序表的基本操作,实现顺序表的插入、删除、查找以及求并集等运算。 3.掌握对多函数程序的输入、编辑、调试和运行过程。 实验要求 1.预习C语言中结构体的定义与基本操作方法。 2.对顺序表的每个基本操作用单独的函数实现。 3原创 2015-11-02 21:20:54 · 2926 阅读 · 0 评论 -
实验二 栈和队列的应用
实验目的 本次实验的目的在于使学生深入了解栈和队列的特征,掌握在实际问题背景下的灵活运用。 实验要求 正确设计和实现本程序,记录输出结果。 实验内容 1.队列的各种基本操作实现。 2.十进制数向N进制数据的转换。(栈的应用)附:代码#include <stdio.h>#include <string.h>#include <stdlib.h>#define OVERFLOW 0#原创 2015-11-02 21:37:39 · 4461 阅读 · 4 评论 -
实验三 二叉树的基本操作(建立)及遍历
实验三 二叉树的基本操作(建立)及遍历 实验目的 1.学会实现二叉树结点结构和对二叉树的基本操作。 2.通过对二叉树遍历操作的实现,理解二叉树各种操作,学会利用递归方法编写对二叉树等类似递归数据结构进行处理的算法。 实验要求 1.认真阅读和掌握和本实验相关的教材内容。 2.编写完整程序完成下面的实验内容并上机运行。 实验内容 1.编写程序输入二叉树的结点个数和结点值,构造下图所示的二原创 2015-11-02 21:59:50 · 9673 阅读 · 4 评论 -
C++引用(Reference)
引用(Reference)是C++语言相对于C语言的又一个扩充,类似于指针,只是在声明的时候用&取代了*。引用可以看做是被引用对象的一个别名,在声明引用时,必须同时对其进行初始化。引用的声明方法如下: 类型标识符 &引用名 = 被引用对象[例1]C++引用示例:int a = 10;int &b = a;cout<<a<<" "<<b<<endl;cout<<&a<<" "<<&b<转载 2015-11-03 10:13:35 · 1745 阅读 · 0 评论 -
C/C++常用算法【C语言顺序查找(随机数)】【1】
这是我学习唐峻,李淳的《C/C++常用算法第一天》 1.8.1. 查找数字: 程序随机生成一个拥有20个整数数据的数组,然后输入要查找的数据。接着,可以采用醉简单的逐个对比的方法进行查找,也就是顺序查找的方法,下面给出该算法完整的C语言代码:#include <stdio.h>#include <stdlib.h>#include <time.h>#define N 20int main(原创 2015-12-11 14:44:19 · 2903 阅读 · 0 评论 -
C/C++常用算法【C语言顺序查找(顺序表)】【2】
直接上代码,代码中有详细注释,请自己领悟#include <stdio.h>#include <stdlib.h>#define MAXLEN 100 //定义顺序表的最大长度typedef struct { char key[10]; //结点的关键字 char name[20]; int age;} DATA; //定义结点类型ty原创 2015-12-11 18:21:46 · 4826 阅读 · 0 评论 -
递归简论
/**f(x)=2f(x-1)+x^2;f(0)=0;**/#include <stdio.h>#include <stdlib.h>int f(unsigned int x){ if(x==0) return 0;//处理基准情况 //基准情形:你必须总要有某些基准的情形,它们不用递归就能求解 else return 2*f(x-1)原创 2015-08-26 16:12:09 · 1364 阅读 · 0 评论