Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: [Solved]Trộn 2 mảng

  1. #1
    Ngày gia nhập
    02 2007
    Bài viết
    27

    Mặc định [Solved]Trộn 2 mảng

    Xin bỏ vài giây đọc nốt câu em viết:
    Em đã search trong diễn đàn với từ khóa trộntrộn mảng nhưng kết quả không như mong đợi, hễ có ai hỏi về vấn đề này thì mấy anh MOD nói là đã có rồi, rốt cuộc thì ở đâu, mong mấy anh post cho em cái link.

    Đề bài là:
    Cho 2 mảng a,b chưa sắp xếp, trộn thành mảng c sắp xếp tăng

    Em có vài ý tưởng thế này:
    1.
    copy 2 mảng a và b vào mảng c, rồi sắp xếp mảng c đó.

    2.
    Copy mảng a vào mảng c, sắp xếp tăng mảng c, rồi xét từng phần tử của mảng b, tìm vị trí thích hợp để chèn vào c.

    3;
    Lúc đấu gán c[0]=a[0];
    rồi xét từng phần tử của a, tìm vị trí thích hợp trong mảng c để chèn vô.
    Sau đó xét từng phần tử của b, tìm vị trí thích hợp trong mảng c để chèn vô.

    Thằng bạn em bảo là còn có thuật giải hay hơn, mong mấy anh chỉ giáo cho em nhờ.

    Thanks


    Tucõi phước
    Tìnhdây oan

  2. #2
    Ngày gia nhập
    02 2007
    Nơi ở
    TP.HCM - dưới cầu SG
    Bài viết
    12

    Xét về mặt di chuyển dữ liệu, dù sắp xếp theo cách nào thì cuối cùng ta cũng phải gán dữ liệu vào mảng c ( dù ta copy cả khối dữ liệu là 1 mảng bằng các hàm như memmove() hay ta copy từng phần tử một ). Vì vậy người ta thường sử dụng 2 cách sau:
    + C1: copy 2 mảng a và b vào mảng c, rồi sắp xếp mảng c đó ( giống như bạn nói ) bằng một thuật giải hữu hiệu như quick sort, heap sort, Shell sort ...
    + C2: sắp xếp từng mảng a, b theo cùng thứ tự. Sau đó dùng phương pháp trộn để trộn 2 mảng đã sắp xếp này thành một mảng c.
    C2 ở trên cũng dùng để sắp xếp những khối dữ liệu lớn, lớn hơn cả dung lượng bộ nhớ máy tính.
    ( Cách 2 và 3 bạn đưa ra hiệu quả ko cao vì: c2 sử dụng phương pháp chèn nên cứ mỗi lần chèn dữ liệu ta phải di chuyển khá nhiều phần tử ra phía sau để chừa chỗ cho nó. C3 còn tệ hơn vì giống C2 và số lần so sánh rất lớn ).
    Thân!
    Nơi nào khiến anh dừng bước, nơi đó có em.

  3. #3
    Ngày gia nhập
    02 2007
    Bài viết
    27

    Cám ơn bạn rất nhiều, mình đã làm được rồi.


    Tucõi phước
    Tìnhdây oan

Các đề tài tương tự

  1. [ Solved ]Xây dựng lớp ĐỒTHI
    Gửi bởi bluesky_123078 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 09-11-2008, 09:34 AM
  2. [Solved] Hỏi về con trỏ
    Gửi bởi RedHatLinux9 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 17-09-2008, 08:01 AM
  3. [ Solved ]Cấp phát động
    Gửi bởi demontaihack trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 16
    Bài viết cuối: 07-09-2008, 08:23 PM
  4. [ Solved ]Cần hướng dẫn về bài tập màng!!
    Gửi bởi itthuyloi trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 03-06-2008, 03:00 PM
  5. [ Solved ]Sắp xếp hai dãy số
    Gửi bởi thuchanh trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 10
    Bài viết cuối: 20-04-2008, 11:47 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn