
数据结构
Bug 挖掘机
技术成长路上没有捷径,欢迎关注我
展开
-
【数据结构】图的深度优先遍历
遍历流程以无向图为例邻接矩阵,该邻接矩阵纵坐标(i)为访问的起点,而横坐标(j)代表访问终点(1)起点为2,先将Visited数组(Bool)当中,表示为2的结点,标记为1,代表已经访问(2)查看纵坐标i=2的行,其中横坐标j=1的列,发现邻接矩阵对应值为1,说明点2的邻接点1,还没有被访问,于是我们访问点1(4)访问点1,Visited数组(Bool)当中,表示为2的结点,标记为1,再跳转到i=1的行,横坐标i=2,但点2已经被访问,而i=3,点3还没有被访问(4)访问点3,同理,重复步骤(原创 2020-10-03 20:01:55 · 947 阅读 · 0 评论 -
【数据结构】单链表与双链表插入结点
单链表双链表原创 2019-09-19 18:08:24 · 488 阅读 · 0 评论 -
【数据结构】二叉树节点总数与度数,边数的关系
我们设度为0,1,2的节点分别为n0,n1,n2个,那么节点总数n=n0+n1+n2,然而边数b=n-1(除去最顶上的节点),并且b=n1+2*n2=n-1=n0+n1+n2-1,由此我们可以推出n0=n2+1也就是说叶子节点要比度为二的节点多一个。b=n1+2*n2 度为2的节点有两条边,度为1的节点有1条结点总数=度数*该度数对应的结点数+1n=n2 *2+n1 *1+0 *n...原创 2019-09-12 17:17:47 · 20307 阅读 · 6 评论 -
【数据结构】往链表末尾中添加结点
往链表末尾中添加结点C++版本struct ListNode{ int m_nValue; ListNode *m_pNext;};void AddToTail(ListNode **pHead, int value){ ListNode *pNew = new ListNode(); pNew->m_nValue = value; pNew-&g...原创 2019-09-02 13:44:24 · 906 阅读 · 0 评论