nihaibeizhanyong
码龄6年
关注
提问 私信
  • 博客:14,398
    动态:1
    14,399
    总访问量
  • 41
    原创
  • 1,307,230
    排名
  • 7
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:山东省
  • 加入CSDN时间: 2018-11-07
博客简介:

nihaibeizhanyong的博客

查看详细资料
个人成就
  • 获得6次点赞
  • 内容获得3次评论
  • 获得1次收藏
创作历程
  • 38篇
    2019年
  • 3篇
    2018年
成就勋章
兴趣领域 设置
  • 人工智能
    tensorflow聚类集成学习
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

342人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

图

定义图是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G=(V,E)其中:G表示一个图,V是图G中顶点的集合,E是图G中顶点之间边的集合。 图中可以没有边但必须有点。分为有向图,无向图,还有混合图;无向图:图的任意两个顶点之间的边都是无向边有向图:图的任意两个顶点之间的边都是有向边完全图无向完全图:任意两点之间都存在边的图有向完全图:任意两点之间都存在方向相反的两条...
原创
发布博客 2019.12.03 ·
145 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Floyd求最短路径

Floyd求最短路径相比于Dijkstra算法来说,Floyd算法真的是容易理解多了,仅仅需要邻接矩阵,还有一个三重循环即可,但是比Dijkstra算法的复杂度要高,各有各的优点,自己选择即可。实现代码如下:#include<iostream>#include<cstring>const int Maxsize=100;const int Max=1000000...
原创
发布博客 2019.12.02 ·
158 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

树和二叉树

二叉树定义二叉树是n(n≥0)个节点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根节点和两棵互不相交的、分别称为根节点的左子树和右子树的二叉树组成。特点:每个节点最多有两棵子树;二叉树是有序的,其次序不能任意颠倒特殊二叉树斜树1.所有节点都只有左子树的二叉树称为左斜树;2.所有节点都只有右子树的二叉树称为右斜树;3.左斜树和右斜树统称为斜树。4.在斜树中,每一层只...
原创
发布博客 2019.12.02 ·
133 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

dijkstra算法

算法思想1.以各点到初始点的距离为最近距离(即直接与初始点相连的边的权),如果不直接相连的距离则为无穷。2.选取这些边最短的,并判断该边的head与其他的点是否相连,如果相连之后的距离小于目前的最小距离,就更新初始点到各点的最小距离。(此时选出的最短的这条边的权就是他的head到初始点的最近距离,这时已经不需要判定该head距离初始点的最近距离,为其做上标记)3.不断重复2操作知道所有的点都...
原创
发布博客 2019.12.02 ·
131 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

数据结构笔记-栈和队列

栈和队列区别:栈是先进后出,二队列是先进先出。栈和队列也是采用链式存储和数组后缀表达式先将数字都插入进栈中,一个运算符,推出栈顶的两个元素,在将运算结果推入栈中,如此往复得到最终的结果。注意输入不能用cin,要用getline(cin,a)cin输入空格于回车时,停止输入,而getline是整行输入,输入回车停止,还要用到switch,‘数字’-‘0’得出的结果只能是个位数,如果是十位...
原创
发布博客 2019.10.28 ·
180 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

数据结构的笔记-线性表

线性表的顺序存储结构数组,对于我们都不陌生,相对于链式存储来说,就简单多了,就不多说了。线性表的链式存储结构我们一般用到的都是带头结点的。链式存储首先就要考虑结点的定义,着永远是链式存储的前提template <typename T>struct Node {   T data;   Node<T> *next; }; 有了这个前提,才能为...
原创
发布博客 2019.10.28 ·
122 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

单链表

#includeusing namespace std;struct Node{int data;Node *next;};class LinkList{public:LinkList(int a[],int sum);LinkList();~LinkList();void PrintList();void Delete1();void Delete2();priv...
原创
发布博客 2019.10.11 ·
163 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

类的封装、继承和多态

类:将数据和实现操作的函数放在一起,是对一类问题的抽象。类的三大特性一、封装性封装:函数的封装是一种形式,隐藏对象的属性和实现细节(函数内部),仅仅对外提高函数的接口和对象进行交互。类的访问限定符可以协助其完成封装类的三种访问限制符:public、private、protected。public允许类外访问private、protected不允许类外进行访问。protected的限...
原创
发布博客 2019.06.19 ·
275 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

软件开发心得

接触面向对象程序设计半年了,我有很多感想和体会,下面我与大家一起分享一下我的学习心得。首先,我觉得我自己最明显的转变就是思想的转变,我们不再是消费者和使用者,我们现在是创造者,我们要做的东西不是单纯为自己做的,而是为了满足别人的需求,说的简单点,我们以前就像一只完全没有约束的小鸟,现在我们被囚禁在一个小空间里,我们想要自由翱翔,可又害怕笼子太小,怕自己刚刚飞起来又别迫降落,为了能够自由翱翔,我们...
原创
发布博客 2019.06.19 ·
608 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

最短路径的长度

一、求出最短路径的长度  以下没有特别说明的话,dis[u][v]表示从u到v最短路径长度,w[u][v]表示连接u,v的边的长度。1.Floyed-Warshall算法 O(N3)  简称Floyed(弗洛伊德)算法,是最简单的最短路径算法,可以计算图中任意两点间的最短路径。Floyed的时间复杂度是O (N3),适用于出现负边权的情况...
原创
发布博客 2019.05.22 ·
2998 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

图论算法

完全图:一个n 阶的完全无向图含有n*(n-1)/2 条边;一个n 阶的完全有向图含有n*(n-1)条边;稠密图:一个边数接近完全图的图。    稀疏图:一个边数远远少于完全图的图。    强连通分量:有向图中任意两点都连通的最大子图。右图中,1-2-5构成一个强连通分量。特殊地,单个点也算一个强连通分量,所以右图有三个强连通分量:1-2-5,4,3深度优先与广度优先遍历  从图中某一...
原创
发布博客 2019.05.18 ·
163 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

图论算法

一、什么是图?  很简单,点用边连起来就叫做图,严格意义上讲,图是一种数据结构,定义为:graph=(V,E)。V是一个非空有限集合,代表顶点(结点),E代表边的集合。结点的度:无向图中与结点相连的边的数目,称为结点的度。结点的入度:在有向图中,以这个结点为终点的有向边的数目。结点的出度:在有向图中,以这个结点为起点的有向边的数目。权值:边的“费用”,可以形象地理解为边的长度。连通:如...
原创
发布博客 2019.05.15 ·
455 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

图论算法

一、什么是图?  很简单,点用边连起来就叫做图,严格意义上讲,图是一种数据结构,定义为:graph=(V,E)。V是一个非空有限集合,代表顶点(结点),E代表边的集合。二、图的一些定义和概念(a)有向图:图的边有方向,只能按箭头方向从一点到另一点。(a)就是一个有向图。(b)无向图:图的边没有方向,可以双向。(b)就是一个无向图。结点的度:无向图中与结点相连的边的数目,称为结点的度。结...
原创
发布博客 2019.05.15 ·
433 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

数据结构

队列是限定在一端进行插入,另一端进行删除特殊线性表。队列的删除和插入分别称为出队和入队。允许出队的一端称为队头,允许入队的一端称为队尾。 由于总是先入队的元素先出队(先排队的人先买完东西),这种表也称为先进先出(FIFO)表。队列可以用数组Q[m+1]来存储,数组的上界m即是队列所容许的最大容量。在队列的运算中需设两个指针:head:队头指针,指向实际队头元素的前一个位置tail:队尾指针...
原创
发布博客 2019.05.11 ·
92 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

数据结构

遍历二叉树㈠先序遍历的操作定义如下:若二叉树为空,则空操作,否则 ①访问根结点 ②先序遍历左子树 ③先序遍历右子树 void preorder(tree bt) //先序遍历根结点为bt的二叉树的递归算法 { if(bt) { cout << bt->data; ...
原创
发布博客 2019.05.11 ·
101 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

数据结构二

二叉树的性质1.在二叉树的第i层上最多有2^(i-1)个结点(i>=1)。2.深度为k的二叉树至多有2^k –1个结点(k>=1)。特别:一棵深度为k且有2k–1个结点的二叉树称为满二叉树。可以对满二叉树的结点进行连续编号,约定编号从根结点起,自上而下,从左到右,由此引出完全二叉树的定义,深度为k,有n个结点的二叉树当且仅当其每一个结点都与深度为k的满二叉树中编号从1到n的结点...
原创
发布博客 2019.05.09 ·
104 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

数据结构

栈栈是只能在某一端插入和删除的特殊线性表。进行删除和插入的一端称栈顶,另一堆称栈底。插入一般称为进栈(PUSH),删除则称为退栈(POP)。 栈也称为后进先出表(LIFO表)。一个栈可以用定长为N的数组S来表示,用一个栈指针TOP指向栈顶。若TOP=0,表示栈空,TOP=N时栈满。进栈时TOP加1。退栈时TOP减1。当TOP<0时为下溢。栈指针在运算中永远指向栈顶。1、进栈(PUSH...
原创
发布博客 2019.05.04 ·
134 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

二分查找算法

简单定义:在一个单调有序的集合中查找元素,每次将集合分为左右两部分,判断解在哪个部分中并调整集合上下界,重复直到找到目标元素。时间复杂度:O (logn),优于直接顺序查找O(n)查找连续函数的写法待查找的值,Caculate():所要查找的函数,在这里单调递增需保证查找的值在区间范围内double low=“区间下界”,high=“区间上界”,mid;while(high - low...
原创
发布博客 2019.05.04 ·
132 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

二分查找算法

简单定义:在一个单调有序的集合中查找元素,每次将集合分为左右两部分,判断解在哪个部分中并调整集合上下界,重复直到找到目标元素。时间复杂度:O (logn),优于直接顺序查找O(n)查找连续函数的写法//x:待查找的值,Caculate():所要查找的函数,在这里单调递增//需保证查找的值在区间范围内double low=“区间下界”,high=“区间上界”,mid;while(high...
原创
发布博客 2019.04.27 ·
1205 阅读 ·
2 点赞 ·
2 评论 ·
1 收藏
加载更多