徽标
联盟百科
通讯
下载应用,请到 Google Play
新! 在您的Android™设备上下载联盟百科!
安装
比浏览器更快的访问!
 

约瑟夫斯问题

指数 约瑟夫斯问题

約瑟夫斯問題(有时也称为約瑟夫斯置換),是一个出现在计算机科学和数学中的问题。在计算机编程的算法中,类似问题又称为约瑟夫环。 有n个囚犯站成一个圆圈,准备处决。首先从一个人开始,越过k-2个人(因为第一个人已经被越过),并杀掉第k个人。接着,再越过k-1个人,并杀掉第k个人。这个过程沿着圆圈一直进行,直到最终只剩下一个人留下,这个人就可以继续活着。 问题是,给定了n和k,一开始要站在什么地方才能避免被处决?.

10 关系: 大O符号弗拉維奧·約瑟夫斯Cut-the-Knot程序设计算法导论罗纳德·李维斯特计算机科学数学数学归纳法

大O符号

大O符号(Big O notation),又稱為漸進符號,是用于描述函数渐近行为的数学符号。更确切地说,它是用另一个(通常更简单的)函数来描述一个函数数量级的渐近上界。在数学中,它一般用来刻画被截断的无穷级数尤其是渐近级数的剩余项;在计算机科学中,它在分析算法复杂性的方面非常有用。 大O符号是由德国数论学家在其1892年的著作《解析数论》(Analytische Zahlentheorie)首先引入的。而这个记号则是在另一位德国数论学家的著作中才推广的,因此它有时又称为朗道符号(Landau symbols)。代表“order of...”(……阶)的大O,最初是一个大写希腊字母“Ο”(omicron),现今用的是大写拉丁字母“O”。.

新!!: 约瑟夫斯问题和大O符号 · 查看更多 »

弗拉維奧·約瑟夫斯

提圖斯·弗拉維奧·約瑟夫斯(全名Titus Flavius Josephus,),原名約瑟·本·馬賽厄斯(Joseph ben Matthias,意思是Joseph,Matthias的儿子),簡稱約瑟夫或約瑟夫斯,或譯約瑟法斯或約西弗斯,是第一世紀時的著名的猶太歷史學家,也是軍官及辯論家。 约瑟夫斯曾经做犹太军官,后来被俘虏后入罗马军队服役。有一段时间他跟随罗马军队征讨和平叛在罗马帝国犹迪亚行省的叛乱,并见证了公元70年提多将军摧毁耶路撒冷城。他晚年在罗马潜心研究圣经,专注写作。 作為猶太人,约瑟夫斯对希伯來圣经做了深入的研究,将圣经的正典和外典做了详细的分析,并指出,外典圣经從來沒有被猶太人包括在受感示的聖經之內。另外他撰写的《犹太古史》记载了从圣经旧约最开始到公元一世纪整个的犹太历史,这些记载表明约瑟夫斯本人认为圣经的记载是真实的。同时在他的作品中有记录了很多福音书和使徒行传记载的事件,由此可以从侧面印证福音书的内容不是杜撰出来的。他撰写的作品《犹太古史》、《犹太战史》、《驳斥阿比安》和自传《人生》对于了解犹太人在古代和罗马统治时期的面貌有重要的参考价值。.

新!!: 约瑟夫斯问题和弗拉維奧·約瑟夫斯 · 查看更多 »

圆 (Circle),根據歐幾里得的《几何原本》定義,是在同一平面内到定点的距离等于定长的点的集合。此外,圆的第二定义是:「平面内一动点到两定点的距离的比,等于一个常数,则此动点的轨迹是圆。.

新!!: 约瑟夫斯问题和圆 · 查看更多 »

Cut-the-Knot

Cut-the-knot是由Alexander Bogomolny维护的一个教育网站,专注于通俗地介绍各类数学话题。该网站已经获得20多个来自科学和教育出版方面的奖项,,包括科学美国人“网站奖”(2003年),大不列颠百科全书“互联网向导奖”(Internet Guide Award),和科学“网络观察奖”(NetWatch award)。它的名字源于亚历山大大帝解戈尔迪的结(Gordian knot)的传说。 Cut-the-knot宣称"Judging Mathematics by its pragmatic value is like judging symphonia by the weight of its score",将该网站描述为"a resource that would help learn, if not math itself, then, at least, ways to appreciate its beauty." 该网站为老师、学生和家长以及为了教育、鼓励兴趣、刺激好奇心任何对数学感兴趣的人设计。许多数学理念做成了applet程序演示。.

新!!: 约瑟夫斯问题和Cut-the-Knot · 查看更多 »

程序设计

电脑程序设计(Computer programming),或稱程式設計(programming),是给出解决特定问题程序的过程,軟體開發過程中的重要步驟。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。程序设计过程应包括分析、设计、编碼、测试、除错等不同阶段。 在计算机技术发展的早期,軟體開發主要就是程序设计。但随着技术的发展,软件系统越来越复杂,逐渐分化出许多专用的软件系统,如操作系统、数据库系统、应用服务器,而且这些专用的软件系统愈来愈成为普遍的系統環境的一部分。这种情况下軟體開發的内容越来越丰富,不再只是纯粹的程序设计,还包括数据库设计、用户界面设计、通信协议设计和复杂的系统配置过程。 专业的程序设计人员被称为程序员。某种意思上,程序设计的出现甚至早于电子计算机的出现。英国著名诗人拜伦的女儿愛達·勒芙蕾絲曾设计了巴贝奇分析机上計算伯努利數的一个程序。她甚至还建立了循环和子程序的概念。由于她在程序设计上的突破性創新,愛達·勒芙蕾絲被称为世界上第一位程序员。 任何设计工作都是在各种条件限制和相互矛盾的需求之间寻求一种平衡。這種觀點反映在程式設計上,就是硬體儲存空間與程式執行時間的限制。 空間方面,在计算机技术发展的早期,由于机器资源比较昂贵,如何縮小儲存空間往往是设计关心的首要重點;而随着硬件技术的飞速发展,電腦上資料儲存媒體的價格降低,空間不再是考慮的第一要點,一些較耗時的運算也漸漸發展出以空間換取時間的模式。 時間方面,在早期,如何加強程式效率、縮短程式執行時間是程式設計師的共同目標;而在硬體效能進步、效率差距縮小,软件规模與複雜度卻日益增加的現在,程序的结构、可维护性、重複使用性、彈性等因素更顯得重要。在多人合作的程式設計專案裡,程式設計師們會加上各種註解以協助其他參與者理解程式碼,,但卻因能達到較好的溝通並提高程式碼的可維護性,而成為目前的主流。 然而,隨著智慧型手機等攜帶裝置的興起,執行時間的縮短與儲存空間的有效運用再次成為焦點,形成與主機伺服器類型應用程式不同的重點考慮方向。.

新!!: 约瑟夫斯问题和程序设计 · 查看更多 »

算法导论

《算法导论》(Introduction to Algorithms)是基础算法方面最权威、最详细的著作之一,在很多国际著名大学被用于算法课的教材。诸多算法方面的论文将其列入参考文献当中。 该书详细的介绍了诸多常见的算法及数据结构,并用严谨的证明来论证其正确性。每个章节均有例题,适合学习者深入理解。第一版刊行于1990年,2009年最新版为第三版。在许多国家常常以作者姓名首个英文字母被称为CLRS(第一版则简称为CLR)。.

新!!: 约瑟夫斯问题和算法导论 · 查看更多 »

罗纳德·李维斯特

罗纳德·林納·李维斯特 (Ronald Linn Rivest,)是一名美国密码学家。他是麻省理工学院电子工程和计算机科学部门 (EECS)计算机科学的一名教授 和麻省理工学院之 (CSAIL)的成员。他与阿迪·萨莫尔和伦纳德·阿德曼共同发明了RSA加密演算法;以及在密码学和计算机科学等领域做出许多杰出贡献而知名。RSA被广泛使用在计算机安全应用上,包括https。2002年,他与阿迪·萨莫尔和伦纳德·阿德曼一起因在公钥密码学RSA加密演算法取得的杰出贡献而获得图灵奖。.

新!!: 约瑟夫斯问题和罗纳德·李维斯特 · 查看更多 »

计算机科学

计算机科学用于解决信息与计算的理论基础,以及实现和应用它们的实用技术。 计算机科学(computer science,有时缩写为CS)是系统性研究信息与计算的理论基础以及它们在计算机系统中如何与应用的实用技术的学科。 它通常被形容为对那些创造、描述以及转换信息的算法处理的系统研究。计算机科学包含很多分支领域;有些强调特定结果的计算,比如计算机图形学;而有些是探討计算问题的性质,比如计算复杂性理论;还有一些领域專注于怎样实现计算,比如程式語言理論是研究描述计算的方法,而程式设计是应用特定的程式語言解决特定的计算问题,人机交互则是專注于怎样使计算机和计算变得有用、好用,以及随时随地为人所用。 有时公众会误以为计算机科学就是解决计算机问题的事业(比如信息技术),或者只是与使用计算机的经验有关,如玩游戏、上网或者文字处理。其实计算机科学所关注的,不仅仅是去理解实现类似游戏、浏览器这些软件的程序的性质,更要通过现有的知识创造新的程序或者改进已有的程序。 尽管计算机科学(computer science)的名字里包含计算机这几个字,但实际上计算机科学相当数量的领域都不涉及计算机本身的研究。因此,一些新的名字被提议出来。某些重点大学的院系倾向于术语计算科学(computing science),以精确强调两者之间的不同。丹麦科学家Peter Naur建议使用术语"datalogy",以反映这一事实,即科学学科是围绕着数据和数据处理,而不一定要涉及计算机。第一个使用这个术语的科学机构是哥本哈根大学Datalogy学院,该学院成立于1969年,Peter Naur便是第一任教授。这个术语主要被用于北欧国家。同时,在计算技术发展初期,《ACM通讯》建议了一些针对计算领域从业人员的术语:turingineer,turologist,flow-charts-man,applied meta-mathematician及applied epistemologist。 三个月后在同样的期刊上,comptologist被提出,第二年又变成了hypologist。 术语computics也曾经被提议过。在欧洲大陆,起源于信息(information)和数学或者自动(automatic)的名字比起源于计算机或者计算(computation)更常见,如informatique(法语),Informatik(德语),informatika(斯拉夫语族)。 著名计算机科学家Edsger Dijkstra曾经指出:“计算机科学并不只是关于计算机,就像天文学并不只是关于望远镜一样。”("Computer science is no more about computers than astronomy is about telescopes.")设计、部署计算机和计算机系统通常被认为是非计算机科学学科的领域。例如,研究计算机硬件被看作是计算机工程的一部分,而对于商业计算机系统的研究和部署被称为信息技术或者信息系统。然而,现如今也越来越多地融合了各类计算机相关学科的思想。计算机科学研究也经常与其它学科交叉,比如心理学,认知科学,语言学,数学,物理学,统计学和经济学。 计算机科学被认为比其它科学学科与数学的联系更加密切,一些观察者说计算就是一门数学科学。 早期计算机科学受数学研究成果的影响很大,如Kurt Gödel和Alan Turing,这两个领域在某些学科,例如数理逻辑、范畴论、域理论和代数,也不断有有益的思想交流。.

新!!: 约瑟夫斯问题和计算机科学 · 查看更多 »

数学

数学是利用符号语言研究數量、结构、变化以及空间等概念的一門学科,从某种角度看屬於形式科學的一種。數學透過抽象化和邏輯推理的使用,由計數、計算、量度和對物體形狀及運動的觀察而產生。數學家們拓展這些概念,為了公式化新的猜想以及從選定的公理及定義中建立起嚴謹推導出的定理。 基礎數學的知識與運用總是個人與團體生活中不可或缺的一環。對數學基本概念的完善,早在古埃及、美索不達米亞及古印度內的古代數學文本便可觀見,而在古希臘那裡有更為嚴謹的處理。從那時開始,數學的發展便持續不斷地小幅進展,至16世紀的文藝復興時期,因为新的科學發現和數學革新兩者的交互,致使數學的加速发展,直至今日。数学并成为許多國家及地區的教育範疇中的一部分。 今日,數學使用在不同的領域中,包括科學、工程、醫學和經濟學等。數學對這些領域的應用通常被稱為應用數學,有時亦會激起新的數學發現,並導致全新學科的發展,例如物理学的实质性发展中建立的某些理论激发数学家对于某些问题的不同角度的思考。數學家也研究純數學,就是數學本身的实质性內容,而不以任何實際應用為目標。雖然許多研究以純數學開始,但其过程中也發現許多應用之处。.

新!!: 约瑟夫斯问题和数学 · 查看更多 »

数学归纳法

数学归纳法(Mathematical Induction、MI、ID)是一种数学证明方法,通常被用于证明某个给定命题在整个(或者局部)自然数范围内成立。除了自然数以外,广义上的数学归纳法也可以用于证明一般良基结构,例如:集合论中的树。这种广义的数学归纳法应用于数学逻辑和计算机科学领域,称作结构归纳法。 虽然数学归纳法名字中有“归纳”,但是数学归纳法并非不严谨的归纳推理法,它属于完全严谨的演绎推理法。事實上,所有數學證明都是演繹法。.

新!!: 约瑟夫斯问题和数学归纳法 · 查看更多 »

重定向到这里:

约瑟夫问题

传出传入
嘿!我们在Facebook上吧! »