Teicníc barrfheabhsaithe i Java ríomhchlárú is ea an Algartam Greedy arb é is sainairíonna ann an réiteach is fearr a roghnú ag gach céim gan féachaint siar ná machnamh a dhéanamh ar an todhchaí. In ionad an spás stáit iomlán a scrúdú, roghnaíonn an algartam seo an rogha reatha is fearr agus tá súil aige go dtiocfaidh réiteach optamach domhanda dá bharr.
Conas a Oibríonn an Algartam Greedy
-
Céim 1: Tosaigh ón stát tosaigh.
-
Céim 2: Ag gach céim, roghnaíonn an algartam an rogha is fearr i measc na roghanna atá ar fáil bunaithe ar fheidhm mheastóireachta.
-
Céim 3: Bogann an algartam go stát nua ag roghnú an rogha is fearr.
-
Céim 4: Leanann an próiseas ar aghaidh go dtí go gcomhlíontar coinníoll foirceanta nó nach bhfuil níos mó roghanna le roghnú astu.
-
Céim 5: Fill ar an réiteach aimsithe.
Buntáistí agus Míbhuntáistí an Algartam Greedy
Buntáistí:
- Simplíocht: Éasca le tuiscint agus le cur i bhfeidhm.
- Éifeachtúlacht: Is minic a éilíonn níos lú ama ríomha agus cuimhne i gcomparáid le roinnt halgartaim optamaithe eile.
- Ideal d'fhadhbanna suboptimal: Oiriúnach d'fhadhbanna nuair a bhíonn breithniú ar gach féidearthacht ró-chasta.
Míbhuntáistí:
- Gan ráthaíocht optamach domhanda: Féadfaidh an t-algartam stop a chur le réiteach optamach áitiúil gan teacht ar an réiteach domhanda is fearr.
- Easpa fadbhreathnaitheachta: Is minic nach ndéanann an t-algartam iarmhairtí na gcinntí roimhe seo a mheas.
Sampla agus Míniú
Sampla coitianta den Algartam Greedy is ea an fhadhb "Kth Largest Element" a aimsiú. Feicfimid conas a oibríonn an algartam seo:
import java.util.Arrays;
public class GreedyAlgorithmExample {
static int findKthLargest(int[] nums, int k) {
Arrays.sort(nums); // Sort the array
return nums[nums.length- k]; // Return the kth largest element
}
public static void main(String[] args) {
int[] nums = {3, 1, 2, 4, 5};
int k = 2;
int result = findKthLargest(nums, k);
System.out.println("The " + k + "th largest element is: " + result);
}
}
Sa sampla thuas, úsáidimid an Algartam Greedy chun an dara eilimint is mó a fháil i sraith slánuimhreacha. Ní dhéanann an algartam seo ach an t-eagar a shórtáil agus an kth eilimint is mó a thabhairt ar ais. Cé nach bhfuil sé cinnte go mbeidh sé ar an mbarr is fearr ar domhan, is réiteach réasúnta maith é don fhadhb seo.