数据结构
文章平均质量分 72
完美世界xx
Happiness is more than pleasure without pain
展开
-
递归与迭代
递归与迭代都是基于控制结构:迭代用重复结构,而递归用选择结构。递归与迭代都涉及重复:迭代显式使用重复结构,而递归通过重复函数调用实现重复。递归与迭代都涉及终止测试:迭代在循环条件失败时终止,递归在遇到基本情况时终止。使用计数器控制重复的迭代和递归都逐渐到达终止点:迭代一直修改计数器,直到计数器值使循环条件失败;递归不断产生最初问题的简化副本,直到达到基本情况。迭代和递归过程都可以无限进行:如果循环转载 2014-09-20 09:00:22 · 526 阅读 · 0 评论 -
图的遍历:DFS和BFS
图的遍历一般由两者方式:深度优先搜索(DFS),广度优先搜索(BFS),深度优先就是先访问完最深层次的数据元素,而BFS其实就是层次遍历,每一层每一层的遍历。 1.深度优先搜索(DFS) 我一贯习惯有举例的方法来讲,示例如下:红色代表的是正搜索,蓝色代表回溯,最下面为标志数组。 注意:DFS的搜索出来的序列不是每个人都是一样的,根据具体的程序可能出现不同的顺转载 2014-09-14 16:28:11 · 579 阅读 · 0 评论 -
二叉树的遍历及常用操作
package leetCode; /** * 输入 (输入0为无节点) * 1 * 2 * 4 * 0 * 0 * 3 * 6 * 0 * 0 * 7 * 0 * 0 */ import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.原创 2015-04-05 11:46:15 · 272 阅读 · 0 评论 -
堆
package com.algorithm; /* * 目的:实现堆排序算法 * 注意:实际上没有heap这种内存数据结构,我们通过Array或LinkList来模拟,人为地看成是heap结构 * 功能:对一堆数进行非升排序 * 作者:陈沛锐 * 时间:2013.04.02 * * 经验积累: * 1.Random() seed * 2.Array.length是Array中原创 2015-04-22 08:14:32 · 346 阅读 · 0 评论 -
常用类
//链表节点class ListNode { int val; ListNode next; ListNode(int x) { val = x; next = null; } } //树节点class TreeNode { int val; TreeNode left; TreeNode right;原创 2015-04-04 09:57:43 · 426 阅读 · 0 评论