여전히 작업의 의도를 명확하게는 알수 없지만..
중복되지 않은 랜덤 숫자를 얻기위해..
미리 그 데이터를 모두 가지고 있는 다는 것은..
상당히 효율이 떨어지는 것이라고 봅니다..
몇 개 정도의 데이터를 생산하시면서 랜덤 숫자가 필요하신 지는 모르지만..
10억개와는 상당히 차이가 있겠지요..
더구나 첫번째 부터 10억개가 미리 준비되어야하는 비효율성은..
별로 좋지 못한 발상인듯 합니다..
차라리..
화일이나 DB를 이용해서..
이제것 나온 데이터를 비교하는 것이 빠를 듯 합니다..
랜덤 숫자를 뽑아내면.. 기존데이터와 비교하고 있으면..
다시 뽑고.. 없으면 갱신하는 식으로 말입니다..
From 류..
이상헌 님이 쓰신 글 :
: 답변 감사 합니다...
: 배열을 만드는 이유는 아래에서 말씀하신 DB나 TList모두 사용해 본후 생각한 방법 입니다..
: 어떤 작업 인가 하면요... 랜덤 하게 숫자를 만들어야 합니다.
: 하지만.. 중복이 되거나 하면 안되져.. 그래서. DB에 넣커나.. TString으로 중복 제거 하는 방법모두
: 사용해 봤지만.. 워낙 많은양의 자료를 생산해야 하다보니.. 무리가 가더군요...엄청나게...
: 생성초기에 모두 생성해 놓고.. 중복이 안되게 가져 오면 되지 않을까 해서여....
: 지금은 다각도로 생각하고 있습니다..
: 일단 일련번호로 가 들어있는 화일을 만들어서 이것을 읽어 메모리에 넣코... 랜덤하게 뽑아오면 되지 않을까.....화일에 만들어 놓코 읽는거랑... 배열을 생성하는거랑 어느것이 빠를까요?
: 두서없이 막 적어서 이해가 힘드시죠.. 에구.. 죄송....
: 저~ 지금 너무 졸립고. 힘도 없어서...
: 이글 쓰고있는 이시간도 한 15분정도 걸린거 같네요.. 쓰다가 졸다가.. ㅋㅋㅋㅋ^^;
: 환절기 감기조심 하세요..^^; 좋은 하루......
:
:
:
: 류종택 님이 쓰신 글 :
: : 10억개 -.-
: : 그런 것을 배열로 사용하는 것은 상당히 효율이 떨어지는 일 입니다..
: :
: : 그런 경우라면..
: : TList를 사용하세요..
: : 10억개는 역시 무리가 가겠지만요..
: : 스왑핑하면서 엄청나게 속도가 떨어질 겁니다..
: :
: : 아니면 Stack아닌 Heap을 사용하는 것이..
: : 자료구조론에도 나오는 Linked List를 스스로 구현해서 작성해보는 거죠..
: : (메모리가 버텨주려나 10억개의 항목에??)
: :
: : 어떠한 일에 사용될 지는 모르겠지만..
: : 데이타베이스 사용도 고려해보시는 것이 좋을 것 같네요..
: :
: :
: : From 류..
: :
: :
: : 이상헌 님이 쓰신 글 :
: : : 변수를 배열로 잡을수 잇는 최대 크기는 얼마 인가여?
: : :
: : : test : array[1000000] of byte;
: : :
: : : byte 일경우 1,000,000는 에러가 나지 않습니다. 10,000,000는 에러가 납니다.
: : :
: : : integer일경우는 생성할수잇는 최대 크리가 당연히 반으로 줄더군여....
: : :
: : : 최대... 10억개의 배열이 필요합니다....
: : :
: : : 어떻케 하면 좋을까요?
|