• Opret dig
  • Glemt adgangskode

User account menu

  • Artikler
  • Forside
  • Forum
  • Nyheder
  • Log ind
Hjem
LinuxIN.dk

Snak med

Opret dig!

Af Looop | 30.04.2010 19:37

Petite Chez Scheme: Har en zip og unzip metod som skal gøres hurtiger.

Programmering
Okay måske et lidt underligt programmerings sprog, men jeg kan faktisk godt lide det, til simpelt arbejde.
Men nu er jeg sku kommet i problemer, jeg har de her metoder:

(define zip
(lambda (a b)
(if (and (list? a) (list? b))
(if (equal? (length a) (length b))
(if(zero? (length a)) '()
(cons (cons (car a) (car b)) (zip (cdr a) (cdr b))))))))

(Define unzip
(lambda (a) ;;; The reason for only 1 lambda need is because we are splliting one list of pairs not two
(if (list? a)
(if (null? a) '(() ()) ;;; If ther exist no a then return to list, both containg the empty list
(list (cons (caar a) (car (unzip (cdr a))))
(cons (cdar a) (cadr (unzip (cdr a)))))))))

Begge metoder kører i O(n^3), men så vidt jeg kan regne ud skulle det kunne gøres i O(n) tid, men jeg ved ikke helt hvordan det skal kunne gøres.
Dog har jeg en ide om at det skal kunne gøres med en letrec metode, men jeg er ikke helt klar over hvordan det skal gøres, for det er jeg stadig ved at lærer.
Så er der nogen som kan hjælpe med det ?
  • Log ind eller opret dig for at tilføje kommentarer

Kommentarer

Svar søges

tst 0
Linux Fanpakke til LUG'er og foreninger 0
KDE Plasma 6.6 skrivebordsmiljø udgivet 0
GRUB 2.14 introducerer understøttelse af EROFS, forbedringer til Btrfs og LVM 0
KDE Plasma 6.6 tilføjer en funktion, som brugerne har spurgt efter i evigheder 0

Seneste aktivitet

USB problemer 3
Frankrig lancerer regeringsplan for skift til Linux desktops 4
Pepsi Challenge 18
Canonical planlægger Kontroversielle GRUB ændringer til Ubuntu 26.10 Secure Boot 1
Ubuntu MATE grundlægger Martin Wimpress træder tilbage efter 12 år 1
OpenShot 3.5 tager et spring fremad inden for ydeevne, AI og videoredigering 4
(U)hyggen breder sig 6
rsync og filsystem 7
Stor sejr for open source, da Tyskland støtter åbent dokumentformat 2
youtube-tui: Nyd YouTube fra terminalen som en professionel 5
Lukker og slukker 8
BigLinux 6
Det engang så elskede PCLinuxOS er tilbage - og det er stadig en fantastisk Windows erstatning 1
Mousam er en detaljeret desktop vejrapp til Linux 1
Hjælp til Handbrake - ingen dk-undertekster 1
luckyBackup 2
GIMP 30
Pinegrow på Debian 13 ? 4
Openmediavault 1
E-mail blues 9

© 2026 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !