讲解:JavaHomework Heap, Quicksort, More sorting, and Algorithm

Introduction需求分析:基于链表的队列伪代码基于链表的堆栈伪代码使用伪元素的基于链表的队列伪代码堆,快速排序,更多排序和算法分析1.(10分)第3章显示了使用链表实现Queue的伪代码。假设有一个固定的优先级范围,比如1··n。(a)(3分)使用链表实现的队列,对给定的优先级范围实施优先级排序。(提示:你可以使用多个队列。)(b)(3分)使用上面的答案编写Insert(elem,优先级)的伪代码。(c)(4分)在上面的答案中显示Insert(elem,优先级)的时间复杂度。解释您的答案。2 .(10分)教科书中的Quicksort将列表分为两个子列表和关键点,想象一下,您将得到一个配分函数,将列表分为三个子列表和两个支点pivot1和pivot2。最左边的子列表只包含小于或等于pivot1的元素。中间子列表包含大于pivot1且小于或等于pivot2的元素。 例如,如果输入数组为{5,3,6,9,4,1,2,8},则分区函数可以将3和6分别选为pivot1和pivot2,并将输入数组分割为[1, 2],[3],[5,4],[6],[9,8]。(a)(3分)写出使用此新配分函数的Quicksort的伪代码。(b)(3分)写出这个Quicksort的递归关系。(c)(4分)考虑到配分函数以O(n)将输入数组分割为n个项目,使用代入法来显示此Quicksort的时间复杂度为O(n2)。3. (6分)如果排序算法保留了重复元素的顺序,它是稳定的(考虑我们基于关键字段对数组记录进行排序的情况,两个不同的记录可以具有相同的关键字,如果排序是稳定的, 那么对于具有相同键字段的任何两个记录x和y,x将出现在排序列表中的y之前当且仅当x在原始列表中出现在y之前。以下哪种排序算法是稳定的:插入,选择, 冒泡,合并,堆,快速?用教科书中的伪代码来回答这个问题,解释你的答案。4.(8分)在列表中查找最小值和最大值。(a)(4分)给出n个元素的列表,在最坏的情况下给出一个算法来找出列表中最小和最大的元素。在你的算法中需要多少次比较 ñ,在最坏的情况下?请注意,我需要确切的比较次数,而不仅仅是比较次数的O()边界。(b)(4分)给出n个元素的列表,在最好的情况下给出一个算法来找出列表中最小和最大的元素。在最好的情况下,你的算法需要总是给出正确的答案,但是 您正试图优化最佳性能,而不是最差情况下的性能。 在最好的情况下,您的算法需要多少次比较,以n为单位?在最坏的情况下如何? 注意我想要确切的比较次数,而不仅仅是比较次数的O()边界。RequirementDepartment of Computer Science University of San FranciscoComputer Science 245Spring 2018Homework 4 Heap, Quicksort, More sorting, and AlgorithmAnalysisDue Monday, March 5th by 11:59pm on Canvas1. (10 points) Chapter 3 shows the pseudocode that implements Queue using linked list.Assume that there is a fixed range of priorities, say 1···n.(a) (3 points) Implement a priority queue for the given range of priorities using Queueimplemented with linked list. (Hint: you may use multiple Queues.)(b) (3 points) Write pseudocode of Insert(elem, priority) using your answer above.(c) (4 points) Show the time complexity of Insert(elem, priority) in your answer above.Explain your answer.2. (10 points) Quicksort in the textbook partitions a list into two sublists and the pivot.Imagine that you are given a partition function that partitions a list into three sublistsand two pivots, pivot1 and pivot2. The leftmost sublist only contains elements lessthan or eqJava代写Homework Heap, Quicksort, More sorting, and Algorithm代ual to pivot1. The middle sublist contains elements greater than pivot1and less than or equal to pivot2. For example, if the input array is {5, 3, 6, 9, 4, 1, 2,8}, the partition function can pick 3 and 6 to be pivot1 and pivot2 respectively, andpartition the input array into [1, 2], [3], [5, 4], [6], [9, 8].(a) (3 points) Write the pseudocode for Quicksort that uses this new partition func-tion.(b) (3 points) Write the recurrent relation for this Quicksort.(c) (4 points) Given that the partition function takes Θ(n) to partition an input arraywith n items, use the substitution method to show this Quicksort has the timecomplexity of O(n 2 ).3. (6 points) A sorting algorithm is stable if it preserves the order of duplicate elements.(Consider the case where we are sorting an array records based on a key field. Twodifferent records could have the same key. If the sort is stable, then for any two recordsx and y with the same key field, x would appear before y in the sorted list if and onlyif x appeared before y in the original list. Which of the following sorting algorithmsare stable: insertion, selection, bubble, merge, heap, quick? Use the pseudocodes inthe textbook to answer this question. Explain your answer.4. (8 points) Finding the Minimum and Maximum values in a list.(a) (4 points) Given a list of n elements, give an algorithm to find the smallest andlargest elements in the list in the smallest number of comparisons, in the worst1case. How many comparisons does your algorithm require, in terms of n, in theworst case? Note that I want the exact number of comparisons, not just a Θ()bound on the number of comparisons.(b) (4 points) Given a list of n elements, give an algorithm to find the smallest andlargest elements in the list in the smallest number of comparisons, in the bestcase. Your algorithm needs to always give the correct answer, but you are tryingto optimize the best-case performance, not the worst case performance. Howmany comparisons does your algorithm require, in terms of n, in the best case?How about in the worst case? Note I want the exact number of comparisons, notjust a Θ() bound on the number of comparisons.转自:http://ass.3daixie.com/2018052610000131.html

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,590评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,808评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,151评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,779评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,773评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,656评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,022评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,678评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,038评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,756评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,411评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,005评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,973评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,053评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,495评论 2 343

推荐阅读更多精彩内容