VoyForums
[ Show ]
Support VoyForums
[ Shrink ]
VoyForums Announcement: Programming and providing support for this service has been a labor of love since 1997. We are one of the few services online who values our users' privacy, and have never sold your information. We have even fought hard to defend your privacy in legal cases; however, we've done it with almost no financial support -- paying out of pocket to continue providing the service. Due to the issues imposed on us by advertisers, we also stopped hosting most ads on the forums many years ago. We hope you appreciate our efforts.

Show your support by donating any amount. (Note: We are still technically a for-profit company, so your contribution is not tax-deductible.) PayPal Acct: Feedback:

Donate to VoyForums (PayPal):

Login ] [ Contact Forum Admin ] [ Main index ] [ Post a new message ] [ Search | Check update time ]


[ Next Thread | Previous Thread | Next Message | Previous Message ]

Date Posted: 06:39:49 04/28/02 Sun
Author: Hjálmtýr
Subject: Re: Hækkunarrunur í Shell-sort
In reply to: 's message, "Hækkunarrunur í Shell-sort" on 06:16:15 04/28/02 Sun

>
>Í "standard" útgáfu af Shellsort er for lykkjan sem
>finnur upphafs h:
>for ( h=1; h< (r-l) / 9; h = 3*h + 1);
>...........það er deilirinn er 3 í öðru=9
>
>þegar hækkunarröðin er 2,4,8,16 o. s. frv. er lykkjan
>for (h=1; h< ( r-l) / 4; h = h*4);
>...............það er deilirinn er 2 í öðru = 4
>
>en fyrir hækkunarrunu 1, a í veldinu 1, a í veldinu
>2,...
>skv. lausn á d5, Vikubl. 10
>for (h=1; h< (r-l) / 4; h= h*a);
>.........deilirinn er 4 en ekki a í örðu?
>
>Spurningin er:
>Hvernig er deilirinn í (r-l) fyrir mismunandi
>hækkunarrunur
>fundinn?

Þetta er spurning um fyrsta gildið á h sem notað er. Það er nokkuð ljóst að það er ekki sniðugt að fara alveg upp
í (r-l), því þá verður h nálægt fjölda staka í vektornum. Afleiðingin af því er að í fyrstu ítruninni er verið að
raða mjög litlum hlutlistum, 1 eða 2 staka listum. Við
græðum lítið á því. Það er því betra að byrja með h aðeins
neðar og raða því heldur stærri hlutlistum í fyrstu
ítruninni. Hversu mikið neðar á h-ið að byrja? Það er engin regla til um það. Eins og þú bendir á eru notuð
ýmis gildi, frá u.þ.b. 1/4 til 1/9 af fjölda staka í
vektornum. Þetta þýðir að fjöldi staka í fyrstu hlutlistunum sem eru raðaðir eru frá ca. 4 til ca. 9.

Ég held að þetta skipti ekki öllu máli við hraðann á Shell röðun, en gæti munað einhverjum sekúndubrotum til eða frá.

Athugaðu að það er ekkert sérstakt við það að 9 skuli vera 3 í öðru og 4 vera 2 í öðru. Við hefðum alveg eins getað
notað 7 í öllum dæmunum (og líklega fengið svipaðan tíma á röðununum).

[ Next Thread | Previous Thread | Next Message | Previous Message ]

Post a message:
This forum requires an account to post.
[ Create Account ]
[ Login ]
[ Contact Forum Admin ]


Forum timezone: GMT-8
VF Version: 3.00b, ConfDB:
Before posting please read our privacy policy.
VoyForums(tm) is a Free Service from Voyager Info-Systems.
Copyright © 1998-2019 Voyager Info-Systems. All Rights Reserved.