码迷,mamicode.com
首页 >  
搜索关键字:中间结点    ( 59个结果
Leetcode 之Binary Tree Preorder Traversal(42)
树的先序遍历。定义一个栈,先压入中间结点并访问,然后依次压入右、左结点并访问。 vector<int> preorderTraversal(TreeNode *root) { vector<int> result; stack<TreeNode *>s; TreeNode *p; p = root; ...
分类:其他好文   时间:2016-05-28 16:00:27    阅读次数:138
单链表的排序(快排和冒泡实现)以及查找中间结点
//快排,冒泡链表排序 #include<iostream> #include<assert.h> usingnamespacestd; template<classT> structLinkNode { T_data; LinkNode*_next; LinkNode(constT&x) :_data(x) ,_next(NULL) {} }; template<classT> classListNode { //..
分类:编程语言   时间:2016-04-25 01:12:02    阅读次数:253
单链表的增删查改等基本操作C++实现
单链表的初始化、增删查改、遍历一次找中间结点、删除一个无头单链表的非尾结点(不给头结点)#include<stdio.h> #include<stdlib.h> #include<malloc.h> typedefintDataType; typedefstructListNode { structListNode*_next; DataType_data; }ListNode; v..
分类:编程语言   时间:2016-03-24 16:41:53    阅读次数:366
小猪的数据结构辅助教程——2.2 线性表中的单链表
**学习要点**: > - 1.理解顺序表以及单链表各自的有点以及缺点! - 2.熟悉单链表的形式,对于头指针,头结点,尾结点,数据域和指针域这些名词要知道是什么! - 3.熟悉单链表的结点结构 - 4.区分**头指针**与**头结点**! - 5.熟悉创建单链表的两种方式:头插法和尾插法 - 6.了解单链表12个基本操作的逻辑 - 7.有趣的算法题:查找单链表的中间结点~...
分类:其他好文   时间:2015-12-09 13:55:53    阅读次数:152
链表算法总结
基础算法包括:1. 逆转链表ListNode reverseList(ListNode head)2. 寻找链表中间结点ListNode Findmid(ListNode head)3. 切分列表,保留原有相对顺序使小于x的结点在大于等于x的结点左侧ListNode partition(ListNo...
分类:编程语言   时间:2015-11-10 17:40:38    阅读次数:263
链表排序
以O(nlogn)的时间复杂度对链表进行排序。一、 归并排序采用分治思想的归并排序,主要需要的方法有寻找中间结点的函数ListNode Findmid(ListNode head)和归并两个有序链表的函数ListNode merge(ListNode head1, ListNode head2)。然...
分类:编程语言   时间:2015-11-10 00:13:37    阅读次数:282
链表面试题Java实现【重要】
本文包含链表的以下内容: 1、单链表的创建和遍历 2、求单链表中节点的个数 3、查找单链表中的倒数第k个结点(剑指offer,题15) 4、查找单链表中的中间结点 5、合并两个有序的单链表,合并之后的链表依然有序【出现频率高】(剑指offer,题17) 6、单链表的反转【出现频率最高】(...
分类:编程语言   时间:2015-09-09 22:49:11    阅读次数:281
链表面试题Java实现【重要】
本文包含以下内容: 1、单链表的创建和遍历 2、求单链表中节点的个数 3、查找单链表中的倒数第k个结点(剑指offer,题15) 4、查找单链表中的中间结点 5、合并两个有序的单链表,合并之后的链表依然有序【出现频率高】(剑指offer,题17) 6、单链表的反转【出现频率最高】(剑指offer,题...
分类:编程语言   时间:2015-09-04 23:59:20    阅读次数:552
Sort List -- leetcode
Sort a linked list in O(n log n) time using constant space complexity. 算法一  自顶向下折半归并,递归 使用递归。进行折半。 先使用快慢指针,找到中间结点。将链表一分为二。 对此两链表进行递归排序后,进行归并。 在leetcode上实际执行时间为62ms。 /** * Definition for...
分类:其他好文   时间:2015-06-08 09:57:20    阅读次数:118
链表操作的几个高效技巧
针对leetcode上面的20多个链表的算法题,总结了一下链表操作中的几个技巧。 1. 快慢指针 快慢指针是在遍历链表的时候使用两个指针,快指针每次比慢指针多跑一步或多步,或者快指针先跑n步。这在查找倒数第n个结点、找中间结点时只需要遍历一次,在判断链表是否有环时不需要额外的空间。例如,查找一个链表...
分类:其他好文   时间:2015-05-29 13:37:30    阅读次数:135
59条   上一页 1 ... 3 4 5 6 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!