`

Dutch national flag problem

 
阅读更多

这个题目:separate negative and positive numbers while being stable,也就是给定一个长n数组,空间复杂度为O(1),时间为O(n), 重新排列,使得负数在前半部分,正数在后半部分,且不改变相对顺序;此题有许多变种,比如偶数奇数,在july的博客上多有讨论,自己一直对此有疑问,在stackoverflow上看到一个帖子:

 

How to sort an integer array into negative, zero, positive part without changing relative position?

 

templatetypedef回答:

This is an instance of the Dutch national flag problem studied by Edsger Dijkstra. It's interesting in that no stable solution to this problem is known that runs in O(n) time and O(1) space (or at least, the last time I checked the literature, no known solution to the problem exists).

 

Dijkstra大牛研究过,所以此题无解吗?

分享到:
评论

相关推荐

    广东工业大学 数据结构 anyview 作业系统 第十章答案

    3. 荷兰国旗问题(Dutch National Flag Problem): 这是一个由Dijkstra提出的经典问题,目标是将一个数组分为三个部分:小于某个特定值的元素、等于特定值的元素和大于特定值的元素,分别对应荷兰国旗的红色、白色...

    一些题目算法

    荷兰国旗问题(Dutch National Flag Problem) 这是由荷兰计算机科学家Edsger W. Dijkstra提出的一个著名问题,目的是在一个数组中对三种颜色进行排序。该问题的核心思想是在一个单一的遍历过程中,将数组中的元素...

    经典算法(C语言).pdf

    4. 荷兰国旗问题(Dutch National Flag problem): 荷兰国旗问题是排序问题的一个变种,由E.W. Dijkstra提出。问题涉及三种不同颜色的旗子,要求将这些旗子按照颜色顺序排列。这个问题的解决方法是使用“三向切分...

    C经典算法之三色棋

    Dijkstra提出,他在描述该问题时使用了“荷兰国旗问题”(Dutch National Flag Problem)这一术语,因为他是荷兰人。这个问题涉及到对一条挂有不同颜色旗子(红、白、蓝)的绳子进行排序。初始状态下,这些旗子是...

    经典c语言算法txt

    荷兰国旗问题(Dutch National Flag Problem) 荷兰国旗问题是由计算机科学家Edsger Dijkstra提出的一个排序问题,要求在一个包含红、白、蓝三种颜色的数组中,将所有红色元素都排在左边,白色元素在中间,蓝色...

    广工数据结构 网络作业 代码

    #### 三、荷兰国旗问题(Dutch National Flag Problem) **定义与原理:** 荷兰国旗问题是Edsger Dijkstra提出的一个经典问题,目的是将一个数组中的元素按照指定顺序进行排列。这里的问题是将数组中的元素分为三种...

    C语言经典算法大全

    荷兰国旗问题(Dutch National Flag Problem) 荷兰国旗问题由计算机科学家Edsger W. Dijkstra提出,涉及在一个数组中对三种颜色的元素进行排序。问题描述为:给定一个只包含蓝色('b')、白色('w')和红色('r'...

    python 实现 排序 课程设计 代码

    荷兰国旗排序(Dutch National Flag Sort) 交换排序(Exchange Sort) 外部排序(External Sort) 侏儒排序(Gnome Sort) 堆排序(Heap Sort) 插入排序(Insertion Sort) 引入排序(Intro Sort) 迭代归并排序...

    DUTCH

    标题"DUTCH"很可能指的是与荷兰(The Netherlands)或者荷兰语相关的主题,但由于提供的信息非常有限,我们将主要从“字体”这一标签出发,探讨与字体设计、排版和荷兰文化中文字艺术的相关知识。 字体是视觉传达的...

    dutch-tax-income-calculator, 带AngularJS的荷兰税收收入计算器.zip

    dutch-tax-income-calculator, 带AngularJS的荷兰税收收入计算器 dutch-tax-income-calculator带AngularJS的荷兰税收收入计算器你可以在这里测试- http://thetax.nl 。 更多关于税务括号的信息这里是:这里是( 用于 ...

    Dutch Initials

    Dutch Initials

    audit-cute-dutch

    audit-cute-dutch

    企业应用管理软件DoubleDutch融资400万美元.docx

    DoubleDutch是一款专注于企业应用管理的软件,最近完成了B轮融资,成功吸引400万美元投资,这使得Floodgate的Mike Maples Jr.加入了其董事会。这家初创公司的核心产品覆盖了项目管理、销售管理和客户管理等多个领域...

    PyPI 官网下载 | e2e-Dutch-0.4.0.tar.gz

    《PyPI官网下载 | e2e-Dutch-0.4.0.tar.gz——探索Python库的奥秘》 PyPI(Python Package Index)是Python开发者的重要资源库,它提供了无数的开源软件包和模块,方便用户下载和安装。标题中的"PyPI 官网下载 | e2...

    PyPI 官网下载 | dutch-pluralizer-0.0.35.tar.gz

    《PyPI官网下载:探索dutch-pluralizer-0.0.35.tar.gz中的Python库》 在Python的世界里,PyPI(Python Package Index)是开发者们分享和获取开源软件包的重要平台。今天我们将深入探讨一个名为“dutch-pluralizer”...

Global site tag (gtag.js) - Google Analytics