3,/$ '(),1,&,Ð1'(3,/$ 'HVFULEDQVHODVVLJXLHQWHVLPDJHQHV 'HILQLFLyQGHOWLSROLQHDO ¢3RUTXp GLJR3,/$" ¢(QTXpVHSDUHFHHVWD 'HVDSLODUHOOLEUR LPDJHQDODDQWHULRU" (6758&785$ /,)2/DVW,Q)LUVW2XW ´HO~OWLPRTXHHQWUDHVHOSULPHURTXHVDOHµ /DVLQVHUFLRQHVVHUHDOL]DQSRUXQH[WUHPR\ ODVH[WUDFFLRQHVSRUHOPLVPRH[WUHPRWRSH (O HOHPHQWR TXH VH SXHGH FRQVXOWDU HQ WRGR PRPHQWRHVHO~OWLPRTXHVHLQVHUWyWRSH $SLODUHOOLEUR VLJXH'(),1,&,Ð1'(3,/$ 23(5$&,21(6 (63(&,),&$&,Ð1'(3,/$R7$' &RQVWUXFWRUDVGHOWLSR ◆FUHDSSFUHDXQDSLODYDFtDS 0RGLILFDGRUDGHOWLSR ◆DSLODUSHLQVHUWDXQHOHPHQWRHQODSLOD 7,32 SLOD [HOHPHQWR] 6,17$;,6 SURFHGLPLHQWRFUHDSVDOSSLOD SURFHGLPLHQWRDSLODUHQWVDOSSLODHQWHHOHPHQWR SURFHGLPLHQWRGHVDSLODUHQWVDOSSLOD IXQFLyQWRSHSSSLODGHYXHOYHHOHPHQWR IXQFLyQYDFLDS"SSLODGHYXHOYHOyJLFR 6(0É17,&$ ◆GHVDSLODUSH[WUDHXQHOHPHQWRGHODSLOD &RQVXOWRUDVGHOWLSR ◆WRSHSSREWLHQHHOHOHPHQWRWRSHGHODSLOD ◆ YDFLDS"SGHYXHOYH&,(572VLODSLODHVWiYDFtD \)$/62HQFDVRFRQWUDULR {} creap(p) {p=λ} {p=P1 P2 .. Pn ∧ e=E} apilar(p,e) {p=P1 P2 .. Pn E} FRQWLQXD➠ &2/$ VLJXH7$'3,/$ 'HVFULEDQVHODVVLJXLHQWHVLPDJHQHV 'HILQLFLyQGHOWLSROLQHDO VLJXH6(0É17,&$ {p=P1 P2 .. Pn ∧ p<>λ} desapilar(p) {p= P1 .. Pn-1} ¢3RUTXp GLJR&2/$" .. {p=P1 P2 .. Pn ∧ p<>λ} e:=topep (p) {p=P1 P2 .. Pn ∧ e = Pn } ¢(QTXpVHSDUHFH HVWDLPDJHQ {p=P1 P2 .. Pn} b:=vaciaq?(p) 3RQHUVHDODFROD {p=P1 P2 .. Pn ∧ b=(p=λ)} ´(OVLJXLHQWHµ 23(5$&,21(6 (6758&785$ ),)2)LUVW,Q)LUVW2XW ´HOSULPHURTXHHQWUDHVHOSULPHURTXHVDOHµ /DVLQVHUFLRQHVVHUHDOL]DQSRUXQH[WUHPR\ ODVH[WUDFFLRQHVSRUHORWUR (O HOHPHQWR TXH VH SXHGH FRQVXOWDU HQ WRGR PRPHQWRHVHOTXHSULPHURVHLQVHUWy VLJXH'(),1,&,Ð1'(&2/$ '(),1,&,Ð1'(&2/$ DHVWD" &RQVWUXFWRUDVGHOWLSR ◆FUHDTTFUHDXQDFRODYDFtDT ◆HQFRODUTHLQVHUWDXQHOHPHQWRHQODFRODT 0RGLILFDGRUDGHOWLSR ◆GHVHQFRODUTHOLPLQDHOSULPHUHOHPHQWRGHT &RQVXOWRUDVGHOWLSR ◆SULPHURTREWLHQHHOSULPHUHOHPHQWRGHT ◆ YDFLDT"T GHYXHOYH &,(572 VL OD FROD T HVWi YDFtD\)$/62HQFDVRFRQWUDULR (63(&,),&$&,Ð1'(&2/$R7$' VLJXH7$'&2/$ VLJXH6(0É17,&$ 7,32 FROD [HOHPHQWR] 6,17$;,6 {q=Q1 Q2 .. Qn ∧ q<>λ} desencolar(q) {q= Q2 .. Qn} SURFHGLPLHQWRFUHDTVDOTFROD SURFHGLPLHQWRHQFRODUHQWVDOTFRODHQWHHOHPHQWR SURFHGLPLHQWRGHVHQFRODUHQWVDOTFROD IXQFLyQSULPHURTFRODGHYXHOYHHOHPHQWR IXQFLyQYDFLDT"TFRODGHYXHOYHOyJLFR {q=Q1 Q2 .. Qn ∧ q<>λ} e:=primero (q) {q=Q1 Q2 .. Qn ∧ e = Q1} 6(0É17,&$ {q=Q1 Q2 .. Qn ∧ e=E} encolar(q,e) {q=Q1 Q2 .. Qn E} {} creaq(q) {q=λ} FRQWLQXD➠ 'HILQLFLyQGHOWLSROLQHDO/,67$FRQSXQWR 'HVFULEDQVHODVVLJXLHQWHVLPDJHQHV GHLQWHUpV ¢3RUTXp GLJROLVWD" {q=Q1 Q2 .. Qn } b:=vaciaq?(q) {q=Q1 Q2 .. Qn ∧ b=(q=λ)} '(),1,&,Ð1'(/,67$FRQSXQWR GHLQWHUpV (6758&785$ 8QDOLVWDHVXQDVHFXHQFLDGHHOHPHQWRVGHXQWLSR GDGR RUGHQDGRV OLQHDOPHQWH VHJ~Q OD SRVLFLyQ TXH RFXSDQHQODPLVPD 8QDOLVWDFRQSXQWRGHLQWHUpVHVXQDOLVWDTXH WLHQHXQDSRVLFLyQHVSHFLDORGLVWLQJXLGDVREUHODTXH VHDSOLFDQODVGLVWLQWDVRSHUDFLRQHV ¢(QTXpVHSDUHFH HVWDLPDJHQ /D3ULPHUD ´/DVLJXLHQWHµ ¢4XpFDUWDHV" (OLPLQDUOD DHVWD" (OSXQWRGHLQWHUpVVHSXHGHFDPELDUFRQORTXHHV SRVLEOH RSHUDU VREUH ORV GLVWLQWRV HOHPHQWRV GH OD OLVWD VLJXH'(),1,&,Ð1'(/,67$FRQSXQWR GHLQWHUpV 23(5$&,21(6 VLJXH23(5$&,21(6GHOD/,67$FRQ SXQWRGHLQWHUpV ② 2SHUDFLRQHVSDUDFDPELDUHOSXQWRGHLQWHUpV: ① 2SHUDFLRQHVSDUDPDQLSXODUODOLVWD: ◆SULQFLSLROVLW~DHOSXQWRGHLQWHUpVGHODOLVWDO ◆FUHDOOFUHDXQDQXHYDOLVWDYDFtDO ◆LQVHUWDOH LQVHUWD XQ HOHPHQWR HQ OD OLVWD O HQ OD DOSULQFLSLR SRVLFLyQLQPHGLDWDPHQWHDQWHULRUDODGLVWLQJXLGD ◆ILQOVLW~DHOSXQWRGHLQWHUpVDOILQDO ◆ VXSULPHO HOLPLQD HO HOHPHQWR TXH HVWi HQ OD ◆ VLJXLHQWHO FDPELD HO SXQWR GH LQWHUpV GH OD SRVLFLyQGLVWLQJXLGDGHODOLVWDO OLVWDODODVLJXLHQWHSRVLFLyQ ◆ UHFXSHUDO: GHYXHOYH HO HOHPHQWR TXH HVWi HQ OD SRVLFLyQGLVWLQJXLGDGHODOLVWDO VLJXH23(5$&,21(6GHOD/,67$FRQ SXQWRGHLQWHUpV ③ 2SHUDFLRQHVSDUDFRQVXOWDUHOHVWDGRGHODOLVWD ◆HVYDFLDOOGHYXHOYH&,(572VLODOLVWDOHVWiYDFtD\ )$/62HQFDVRFRQWUDULR ◆ HVILQO GHYXHOYH &,(572 VL HO SXQWR GH LQWHUpV GH OD OLVWD O HV SRVWHULRU DO ~OWLPR HOHPHQWR \ )$/62 HQ FDVRFRQWUDULR (63(&,),&$&,Ð1'(/,67$R7$' 7,32 OLVWD [HOHPHQWR] 6,17$;,6 SURFHGLPLHQWRFUHDOVDOOOLVWD SURFHGLPLHQWRLQVHUWDHQWVDOOOLVWDHQWHHOHPHQWR SURFHGLPLHQWRVXSULPHHQWVDOOOLVWD IXQFLyQUHFXSHUDOOLVWDGHYXHOYHHOHPHQWR SURFHGLPLHQWRSULQFLSLRHQWVDOOOLVWD SURFHGLPLHQWRILQHQWVDOOOLVWD SURFHGLPLHQWRVLJXLHQWHHQWVDOOOLVWD IXQFLyQHVYDFLDOOOLVWDGHYXHOYHOyJLFR IXQFLyQHVILQOOOLVWDGHYXHOYHOyJLFR FRQWLQXD➠ (VSHFLILFDFLyQGHO7$'/,67$ VLJXH7$'/,67$ 6(0É17,&$ 1RWDFLyQXWLOL]DGD 6(0É17,&$ {} O ///Q∧≤QGRQGHQ HTXLYDOHDO λ creal(l) SRV≤SRV≤QHVODSRVLFLyQGHOSXQWRGHLQWHUpV {l =λ ∧ pos=1} {l =L1L2...Ln ∧ pos=i ∧ 1≤pos≤n } suprime(l) {l=L’1 L’2...L’n-1 ∧(L’1=L1...L’i-1= Li-1)∧ (L’i=Li+1...L’n-1= Ln)∧ pos=i } {l =L1L2..Ln ∧ pos=i ∧ 1≤pos≤n+1 ∧ e=E } inserta(l,e) {l=L’1L’2...L’n+1∧ ( L’1=L1 ∧ .. ∧ L’i-1=Li-1 ) ∧ L’i=E ∧ pos=i+1 {l = L1L2...Ln ∧ 1≤pos≤n } e:=recupera(l) {l = L1L2...Ln ∧ e=Lpos} ∧ (L’i+1=Li ∧ .. ∧ L’n+1=Ln)} FRQWLQXD➠ FRQWLQXD➠ (VSHFLILFDFLyQGHO7$'/,67$ 6(0É17,&$ {l=L1 L2...Ln ∧ 0≤n} principio(l) {l=L1L2...Ln ∧ pos=1} {l=L1L2...Ln ∧ 0≤n} b:=esvacial(l) {b=(n=0)} {l=L1L2...Ln ∧ 0≤n} fin(l) {l=L1L2...Ln ∧ pos=n+1} {l=L1L2...Ln ∧ 0≤n} b:=esfin(l) {b=(pos=n+1)} ,PSOHPHQWDFLRQHVGHORVWLSRV OLQHDOHV •$VLJQDFLyQGLQiPLFDGHPHPRULDSXQWHURV •,PSOHPHQWDFLRQHVGHOWLSR3LOD •,PSOHPHQWDFLRQHVGHOWLSR&ROD •,PSOHPHQWDFLRQHVGHOWLSR/LVWDFRQSXQWRGH LQWHUpV {l=L1L2...Ln ∧ 1≤pos≤n ∧ pos=i} siguiente(l) { l=L1L2...Ln ∧ pos=i+1}