编程-拓扑关系计算,求教????

问题描述

拓扑关系计算,求教????

比如数据库表里面有两列,一列是当前节点编号id,一列是输入这个节点的其他编号inid,为-1时表示没有输入了
比如节点id为1的有两个输入inid为2,3;2的inid为-1;3的inid为4,5;4,5的inid为-1;
我从1逆推回去,到4,5就不往上推了,我计算出4,5的值Q,4,5的值Q相加得到3的值,
3和2的值相加得到1的值
问下我逆推到4,5了用什么方法又往前计算出1的值呢? 效率高点

解决方案

k可以采用递归,也可以用一个stack来改写递归。

时间: 2025-01-24 05:16:25

编程-拓扑关系计算,求教????的相关文章

c语言-两道C语言编程题:求教各位大神

问题描述 两道C语言编程题:求教各位大神 两元一瓶啤酒,两个啤酒瓶换一瓶啤酒,四个啤酒瓶盖换一瓶啤酒,输入的金额可以买几瓶. 输入一串字符串,写两个函数,第一个函数使输入的字符串全都后移一位,第二个函数将字符串中的字母大写换小写,小写换大写?. 拜托各位了 谢谢~ 解决方案 第一个问题描述不清,不知道是不是可以借啤酒瓶和瓶盖,我的程序按照不可以编写: #include <stdio.h>int foo(int money){ int c = money / 2; int c1 = 0; int

《从问题到程序:用Python学编程和计算》——导读

前 言 计算机诞生至今不过六七十年,但它已经改变了世界,改变了每个人的生活.人们每天都在与计算机交流(如智能手机),各领域专业人员的大量日常工作都需要使用计算机,从事与计算机相关工作的人们已经发展为社会上最大的专业技术社团.计算机的研究和应用.互联网和其他相关领域,还在不断呼唤大量熟悉计算机的专业开发人才.计算机科学技术的开发和应用能力已被广泛认为是国家竞争力的重要组成部分.因此,学习计算机科学技术知识,不仅是社会发展的需要,而且已成为个人的重要职业竞争力.然而,要深入理解计算和计算机,使其成为

《从问题到程序:用Python学编程和计算》——1.2 Python语言简介

1.2 Python语言简介 本节将首先简单介绍Python语言的一些基本情况,包括其发展和使用的情况.而后介绍Python语言系统的安装和使用方面的基本常识.1.2.1 Python语言的发展和应用 Python语言是CWI(荷兰国家数学和计算机研究中心)的程序员Guido van Rossum在1989年开始开发的一种高级编程语言,当时的主要设计目标是希望能用于方便地管理CWI的Amoeba操作系统.后来,由于其各方面的优点而逐渐流行起来. Python语言现在由Python软件基金会(Py

《从问题到程序:用Python学编程和计算》——2.11 补充材料

2.11 补充材料 本书各章的主要内容将围绕着怎样通过编程解决计算问题展开,正文中对Python语言的机制只做必要的说明,有些细节情况没有涉及.另外,用Python编程也有许多有趣而且有用的技术.如果在各章的主要部分详细罗列,也可能冲淡讨论的主线.但是上述两方面的一些情况也值得介绍.本书采用的方法是在一些章的最后增加称为"补充材料"一节,补充一些细节,供读者参考,也供用本书教授课程的教师选用. 除了讨论语言细节和编程技术的两个小节外,有时还总结了一些常用的编程模式.练习中的第1题总是对

Hadoop MapReduce编程:计算极值

现在,我们不是计算一个最大值了(想了解如何计算最大值,可以参考Hadoop MapReduce编程:计算最大值),而是计算一个最大值和一个最小值.实际上,实现Mapper和Reducer也是非常简单的,但是我们要输出结果,需要能够区分出最大值和最小值,并同时输出结果,这就需要自定义自己的输出类型,以及需要定义输出格式. 测试数据 数据格式,如下所示: 01 SG 253654006139495 253654006164392 619850464 02 KG 253654006225166 253

《从问题到程序:用Python学编程和计算》——第2章 计算和编程初步 2.1 数值表达式和算术

第2章 计算和编程初步 写程序是为了实现所需要的计算,计算中总需要处理数据,因此写程序时必然要涉及数据的描述,以及从数据出发的计算过程描述. 人们在学数学时已经写过许多数学表达式,其中的一些表达式描述的就是从一些数值出发的计算过程,例如下面这个数学表达式: 这一表达式描述的是从一些数值出发,通过三角函数和各种算术运算,要求算出一个结果.复杂的计算需要用计算机完成,因此在用Python(或其他语言)写程序时,也经常需要写这种计算描述.上面数学表达式对应的Python语言描述是: 5.17 + 1.

Hadoop MapReduce编程:计算最大值

其实,使用MapReduce计算最大值的问题,和Hadoop自带的WordCount的程序没什么区别,不过在Reducer中一个是求最大值,一个是做累加,本质一样,比较简单.下面我们结合一个例子来实现. 测试数据 我们通过自己的模拟程序,生成了一组简单的测试样本数据.输入数据的格式,截取一个片段,如下所示: 01 SG 253654006139495 253654006164392 619850464 02 KG 253654006225166 253654006252433 743485698

《从问题到程序:用Python学编程和计算》——2.8 重复计算和循环

2.8 重复计算和循环 在前面几节,我们首先看到如何通过语句的顺序组合构造最简单的程序,这种程序是直线型程序,就是简单的一系列语句.这样的程序中只有一条执行路径(一种可能执行方式):Python解释器顺序执行程序里的语句,每个语句执行一次,当语句序列中最后一条语句的执行结束时,整个程序的执行就结束了. 增加了if复合语句,能写出的程序更多,程序的形式也更丰富,其中出现了选择和分支.这样得到的程序可称为分支程序.在分支程序里,每条基本语句最多执行一次,如果实际条件导致的执行没进入某个分支,该分支里

《从问题到程序:用Python学编程和计算》——练习

练习 概念和理解 1.   复习下面概念:数值积分,区间分割法,舍入误差,简单重复,累积,累积变量,生成和筛选,递推,递推变量,素数(质数),因子和真因子,哥德巴赫猜想,输入循环,输入控制的循环,递归定义,递归函数,循环定义,无穷递归,循环和递归,斐波那契数列,二路递归,计时,循环不变式,计算复杂性,最大公约数,欧几里得算法(辗转相除法),河内塔问题,自递归,相互递归,程序终止性,不可判定,Collatz猜想,唯一定义原则,自下而上,自顶向下,逐步求精,形式参数(形参),文档串,实际参数(实参)