» »

[Java] Permutacije

[Java] Permutacije

<b>klima</b> ::

Pozdravljeni!

Imam problem z realizacijo permutacij s ponavljanjem v Javi, zato se obračam na vas, mojstre kode…
Torej problem je sledeč: Denimo da imam tabelo znakov (char[]), v kateri je na vsakem drugem mestu zapisan en znak (začenši z indeksom 0), primer: a_b_c_d_e, itd… Podčrtaj označuje prazno mesto v tabeli. Sedaj bi rad med te nize znakov postavil 4 stevilke 0,1,2 ali 3, tako da bi dobil vse možne permutacije. Recimo a0b0c0d0e , potem a0b0c0d1e, itd, do vseh možnih… Problem je v tem, ker se s številom praznih mest povečuje tudi kompleksnost, saj bi že za zgornji primer dobili 4*4*4*4 = 256 rešitev. Za 6 mest že 4096.

Problem: kako realizirati ta problem? Koliko zank sploh potrebujem? Mogoče kakšen drug predlog, namesto uporabe tabele? Hvala že v naprej za vsak namig oz. predlog rešitve.

LP

Mavrik ::

Hja, če hočeš res vse rešitve, potem boš moral pač se sprijazniti, da ti pri velikih sekvencah se jih nabere zelo veliko.

K stvari se spraviš preprosto tako: prvo vrednost povečuješ za 1 (vrednosti na črticah si lahko shraniš v tabelo če ti je lažje) dokler ne prideš do 4. Potem prvo postaviš na 0, drugi pa prišteješ 1. Ponoviš. Ko pride druga do 4, jo daš na 0 in prišteješ tretji 1. In tako dalje do vseh možnih kombinacij.

Lahko pa narediš preprosto števec, ki šteje do tolko mestnega števila, kot maš praznih mest in po vsakem povečanju za 1 daš na vsako črtico eno števko.

Vsaka dodatna praznina ti bo dodala *4 rešitve, samo okoli tega preprosto ne gre.
The truth is rarely pure and never simple.

<b>klima</b> ::

Mavrik, stokrat ti hvala za to idejo... Sam sem namreč preveč zakomplicirou... Hvala še enkrat!


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

program, ki ti najde vse kombinacije črk oz. številk, ki mu jih podaš (strani: 1 2 )

Oddelek: Programiranje
7041815 (6507) XyNOBvxWVJ
»

(Java) Iskanje manjkajoči podatkov v tabeli

Oddelek: Programiranje
151050 (815) noraguta
»

Python - pomoč (strani: 1 2 3 )

Oddelek: Programiranje
10318009 (8757) black ice
»

Matlab problem

Oddelek: Pomoč in nasveti
281434 (858) bluefish
»

Loopy problem

Oddelek: Programiranje
281467 (976) snow

Več podobnih tem