算法
angry_youth
一名正在努力学习计算机类科学的小白,目前本职工作是一名unity3D游戏前端开发工程师,在技术的道路上,我会一直坚守本心,不断学习专研领域知识,向着自己所期待的方向勇往直前,做出更多更好玩的游戏!
展开
-
最短路径之Dijkstra算法--简单易懂
最短路径:任意A点到B点所经历的最短距离。 主要算法有: Dijkstra算法(迪杰斯特拉算法),Floyd算法(弗洛伊德算法),A*算法等。 今天开始逐步介绍下他们的算法思想核心: 1.Dijkstra算法(迪杰斯特拉算法) 这个算法的思想我觉得和Prim算法相似,但是Prim算法是求最小生成树,求的一个图中连接所有点的最小权值,但是Dijkstra算法是求的图中任意两点的最短路径,所以二者在保存最小权值数据的方式不同,Prim主要获取的是邻接点的最小权值(两点必须是相邻的),Dijkstra获取的是点到原创 2020-05-30 12:54:03 · 550 阅读 · 1 评论 -
面试题(一)
注:不喜勿喷。 //1.输入一个链表的头结点,从尾到头反过来打印出每个结点的值;(单向链表) struct ListNode { int key; ListNode* next; }; //利用栈的先进后出的性质 void printReverList(ListNode* root) { assert(root); //创建一个栈 stack<ListNode原创 2017-09-07 11:30:11 · 366 阅读 · 0 评论 -
面试题(二)
注:不喜勿喷//21.合并两个排序的链表 //输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增的,例如,链表1和 //链表2,则合并之后的升序链表如链表3所示,节点定义如下: struct ListNode { int _value; ListNode* _next; };ListNode* merge(ListNode* phead1,ListNode* phea原创 2017-09-07 11:37:07 · 274 阅读 · 0 评论