一位大牛Niklaus Wirth曾有一本书,名为《Algorithms+Data Structures=Programs》,翻译过来也就是算法+数据结构=程序。而本文就是介绍一下Python中内建的三种数据结构----列表、元组以及字典。 列表 列表是处理一组有序项目的数据结构,即你可以在...
分类:
编程语言 时间:
2014-09-13 22:43:06
阅读次数:
270
【注:相关概念来自经典教材及维基百科】
树
树状图是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。它具有以下的特点:
每个节点(node)有零个或多个子节点;没有父节点的节点称为根节点;每一个非根节点有且只有一个父节点;除了根节点外,每个子节点可以分为多个不相交的子树;
如图所示:
相关概念:
节点的度:一个节点含有的子树的个数称为该节点的...
分类:
其他好文 时间:
2014-09-09 13:12:38
阅读次数:
445
给定两个二叉树T1,T2判断T1是否是T2的子树
首先在T2中查找T1的根节点,如果找不到,
则T1不是T2的子树,如果能找到,我们可以
遍历T1,检查T1的每个结点是否对应的存在T2
中。
代码:
struct TreeNode
{
int data;
TreeNode* leftChild;
TreeNode* rightChild;
};
bool isExited(co...
分类:
其他好文 时间:
2014-09-09 12:52:58
阅读次数:
171
写程序在一棵二叉树中找到两个结点的最近共同祖先。
分两种情况来讨论这个题:
第一种情况结点中没有指向父结点的指针
第二种情况接种有指向父节点的指针
我们先看第一种情况,结点中没有指向父结点的指针。
我们可以采用暴力搜索每一个结点,如果这个结点的子树中
有已知的两个结点,那我们就继续沿着左右子树找,如果左子树
能找到,我们就继续沿着左子树找,如果有子树能找到,我们就
沿着右子...
分类:
其他好文 时间:
2014-09-07 02:13:34
阅读次数:
165
一道有趣的题目
一座楼有10层,兔子可以跳跃的层数可以为1,2或者3,那么兔子到达10层有多少种跳法并列出各种情况。...
分类:
其他好文 时间:
2014-09-02 15:53:24
阅读次数:
204
单源最短路径之dijkstra算法最优子问题:dis(s,...,e)是s到e的最短路径,在这条路径上的所有点之间dis(pi,pj)距离是最小的。算法思路:首先初始化,dis[s][i]是s到i的距离,直接相连的就是其距离,不直接相连的就是无穷大下面是算法主要模块:1.选取dis[i]最小的点加入...
分类:
其他好文 时间:
2014-09-02 00:03:43
阅读次数:
197
校招开始了,发现自己数据结构,Algorithms的知识都还给老师了。喵了个呜的!《算法导论》开啃吧~从第三章数据结构开始吧~10.1-2 :如何用一个数组A[1...n]来实现两个栈,使得两个栈中的元素总数不到n时,两者都不会发生上溢。注意PUSH和POP操作的时间应为O(1)。解:思想是,建一维...
分类:
其他好文 时间:
2014-09-01 12:28:43
阅读次数:
187
给定一个有序数组(递增),写程序构建一棵具有最小高度的二叉树。
由于数组是递增有序的,每次都在中间创建结点,类似二分查找的方法来间最小树。
struct TreeNode
{
int data;
TreeNode* leftChild;
TreeNode* rightChild;
};
void newNode(TreeNode*& vNode, int vData)
{
vNode...
分类:
其他好文 时间:
2014-08-30 02:24:58
阅读次数:
260
实现一个函数检查一棵树是否平衡。对于这个问题而言, 平衡指的是这棵树任意两个叶子结点到根结点的距离之差不大于1。
这个题我们可以采用暴力搜索,找到叶子节点到根节点的最小值和最大值,然后他们的差如果大于1就不是平衡树,反之
则是平衡树。
int MinDepth = std::numeric_limits::max();
int MaxDepth = std::numeric_limits::...
分类:
其他好文 时间:
2014-08-29 02:52:57
阅读次数:
197
T=K*log2(N)注:2是小2时间T与以2为底的对数成正比。实际上,由于所有的对数都和其他对数成比例(从底数为2转换到底数为10需乘以3.322),我们可以将这个为常数的底数也并入K.由此不必指定底数:T=K*log(N)(知道这个公式吗:loga(b)=logc(b)/logc(a),loga...
分类:
其他好文 时间:
2014-08-27 09:16:07
阅读次数:
218