日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Coursera Algorithms week1 算法分析 练习测验: Egg drop 扔鸡蛋问题

發(fā)布時(shí)間:2025/3/21 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Coursera Algorithms week1 算法分析 练习测验: Egg drop 扔鸡蛋问题 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題目原文:

Suppose that you have an n-story building (with floors 1 through n) and plenty of eggs. An egg breaks if it is dropped from floor T or higher and does not break otherwise. Your goal is to devise a strategy to determine the value of T given the following limitations on the number of eggs and tosses:

  • Version 0: 1 egg, ≤T tosses.
  • Version 1: ~1lgn eggs and ~1lgn tosses.
  • Version 2: ~lgT eggs and ~2lgT tosses.
  • Version 3: 2 eggs and ~2$ \sqrt{n} $?tosses.
  • Version 4: 2 eggs and ≤c$ \sqrt{T} $?tosses for some fixed constant c

分析:

version0 : 拿著一個(gè)雞蛋從1~n依次扔就可以,到floor T會(huì)碎,故復(fù)雜度為≤T

version 1: ?采用二分查找,首先從n/2層開始扔:

      if(雞蛋碎) 從(n/2)/2層開始扔;

      else 從n/2+(n/2)/2層開始扔

     二分方法需要lgn個(gè)雞蛋嘗試lgn次

version 2: 依次從1, 2, 4, 8, 16, 32,...2k開始扔,如果雞蛋在2k碎了,那么2k-1≤T≤2k,這時(shí)已經(jīng)使用了 lgT 次步,接下來在[2k-1+1,2k)區(qū)間進(jìn)行version1的二分查找方法,需要花費(fèi)lgT步。這兩種操作加起來總共花費(fèi)2lgT步

version 3: 將0~n層樓分成[1,?$ \sqrt{n} $-1], [$ \sqrt{n} $, 2?$ \sqrt{n} $-1], [2$ \sqrt{n} $,3?$ \sqrt{n} $-1]...[k$ \sqrt{n} $, (k+1)$ \sqrt{n} $-1]..個(gè)區(qū)間,用一個(gè)雞蛋分布從1開始在各個(gè)區(qū)間的起始樓層扔,如果在k$ \sqrt{n} $層碎了,那就從(k-1)$ \sqrt{n} $+1開始逐層扔。第一步區(qū)間選擇用了?$ \sqrt{n} $的復(fù)雜度,第二步區(qū)間內(nèi)部扔雞蛋用了?$ \sqrt{n} $的復(fù)雜度,總共用了?2$ \sqrt{n} $

version 4: 嘗試從1, 4, 9, 16, 25,...(k-1)2, k2....樓層扔雞蛋,加入雞蛋在樓層k2碎了,意味著(k-1)2≤T≤k2,這一步嘗試了$ \sqrt{T} $次(k=$ \sqrt{T} $)。接著從樓層(k-1)2+1開始逐層扔,最多嘗試至k2-1結(jié)束,這一步需要嘗試k2-1-(k-1)2-1=2$ \sqrt{T} $-1=2$ \sqrt{T} $-2次。總共用了3$ \sqrt{T} $-2次

?

轉(zhuǎn)載于:https://www.cnblogs.com/evasean/p/7208986.html

總結(jié)

以上是生活随笔為你收集整理的Coursera Algorithms week1 算法分析 练习测验: Egg drop 扔鸡蛋问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。