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

Đề tài: Các bài toán sắp sếp. Các giải thuật sắp xếp mảng. Giúp mình với?

  1. #1
    Ngày gia nhập
    05 2009
    Bài viết
    3

    Mặc định Các bài toán sắp sếp. Các giải thuật sắp xếp mảng. Giúp mình với?

    anh nào có thể cho cho em coi các bài toán trong giải thuật sắp sếp . chạy bằng tay . gồm Insertion sort, .....
    Vd: cho dãy số 2 9 3 6 7 1 mấy anh sắp sếp kiểu selection sort
    Mới vào nghề mấy anh giúp em

  2. #2
    Ngày gia nhập
    03 2008
    Nơi ở
    Hồ chí minh
    Bài viết
    134

    C Code:
    1. void SelectionSort(float a[],int n)
    2. {
    3.     int min,temp;//la chi so phan tu nho nhat
    4.     for(int i=1;i<=n-1;i++)
    5.     {
    6.         //tim phan tu nho nhat ben phai a[i], tu [a[i]+1->a[n]
    7.         min=i+1;
    8.         for(int j=i+2;j<=n;j++)
    9.         if(a[j]<a[min])min=j;
    10.         if(a[min]<a[i])
    11.         {
    12.             temp=a[i];
    13.             a[i]=a[min];
    14.             a[min]=temp;
    15.         }
    16.     }
    17. }
    Đọc kỹ nội quy trước khi tham gia diễn đàn,bạn phải làm rồi lên đây mọi người chỉ chõ sai,xin code như vậy coi chừng bị del bài đấy.
    Every step I'm taking
    Every move I make
    Feels lost with no direction
    My faith is shaking
    But I gotta keep trying.

  3. #3
    Ngày gia nhập
    05 2009
    Bài viết
    3

    mình đâu có xin code dau . mình chỉ hỏi cách sắp sếp theo kiểu bằng tay mà
    bạn đưa code như vậy là biết bàng phần mềm rồi

    ah bạn ơi bạn có thể cho mình xin yahoo được không. thanks

  4. #4
    Ngày gia nhập
    05 2009
    Nơi ở
    TPHCM
    Bài viết
    12

    Phần tử: 2 9 3 6 7 1
    Vị trí: i = 0 1 2 3 4 5

    duyệt từ vị trí 0 tức là 2. Chụp đầu thằng 2 so với vị trí 1 là 9, thấy 2<9 để im
    xét típ, chụp thằng 2 so với vị trí 2 là 3, thấy 2<3 để im.
    xét típ, chụp thằng 2 so với vị trí 3, 4. ko gì thay đổi.
    đến thằng vị trí 5 (cuối) là 1 <2 hoán đổi ngay. vậy dãy số bây giờ là:
    1 9 3 6 7 2.

    i tăng lên 1 tức là xét típ thằng ở vị trí 1 ngay trong dãy mới là 9 so típ, và theo quy luật đó sẽ chuyển 9 về cuối.

    dãy sau khi 9 về cuối sẽ là: 1 3 6 7 2 9

    cứ tăng i lên rồi tiếp tục, vậy là xong Selection

    giờ là Chèn trực tiếp nè:

    chụp thằng 2 so từ vị trí liền kề sau nó đến cuối, tìm thằng nào nhỏ hơn nó đưa trực tiếp về đầu dãy. -> 1 9 3 6 7 2
    lấy 9 so tiếp thấy thằng nào nhỏ nhất so với nó đổi chỗ ngay -> 1 2 3 6 7 9
    tăng i len so tiếp, nhưng lúc này là xong. InsertionSort

  5. #5
    Ngày gia nhập
    05 2009
    Bài viết
    3

    mình chưa hiểu lắm bạn ơi có thể nói rõ hơn cho mình được không. cám ơn bạn

  6. #6
    Ngày gia nhập
    03 2009
    Nơi ở
    hà nội
    Bài viết
    26

    Mặc định Các bài toán sắp sếp. Các giải thuật sắp xếp mảng. Giúp mình với?

    Bạn dùng 2 vòng lặp i và j (j lồng trong i)
    * i=0 thì j=1->5: so sánh a[i] và a[j] nếu a[i]>a[j] thì tăng j
    nếu a[i]<a[j] thì đổi chỗ a[i] và a[j] rùi mới tăng j
    xét đến j=5 thì tăng i
    *i=1 thì j=2->5 và thự hiện như trên
    *i=2....................
    chỉ cần xét đến i=4 là có sx xong.
    Có lẽ là hơi khó hiểu nhưng đây là cách mình hiểu. Mình cứ viết ra có khi bạn cũng hiểu được
    Ko bít thì phải học, phải hỏi _ Bít thì nên chia sẻ cho người khác cùng bít
    Chia sẻ là cách học tốt nhất ^_^[j0y_k3y]0_0

  7. #7
    Ngày gia nhập
    04 2009
    Nơi ở
    Hà Nội
    Bài viết
    42

    Wink Giải thuật nè:

    Trích dẫn Nguyên bản được gửi bởi hongvu123 Xem bài viết
    anh nào có thể cho cho em coi các bài toán trong giải thuật sắp sếp . chạy bằng tay . gồm Insertion sort, .....
    Vd: cho dãy số 2 9 3 6 7 1 mấy anh sắp sếp kiểu selection sort
    Mới vào nghề mấy anh giúp em
    Để tiện minh hoạ giải thuật giả sử ta có dãy khoá 2 9 3 6 7 1 và sắp xếp tăng dần.

    GTSX kiểu lựa chọn:
    -GT: Ở lượt thứ i ta chọn ra khoá đầu dãy k[i] và tìm min của dãy còn lại k[i+1]...k[m] để so sánh với phần tử min này với phần tử đầu dãy và đổi chỗ nếu cần. Như vậy sau j lượt thì j khoá nhỏ hơn sẽ được sắp xếp đúng vị trí và quá trình lặp lại cho đến khi tất cả các khoá được sắp xếp.
    -VD:
    Ban đầu : 2 9 3 6 7 1
    Lượt 1: 1 9 3 6 7 2
    Lượt 2: 1 2 3 6 7 9
    Lượt 3: 1 2 3 6 7 9
    Lượt 4: 1 2 3 6 7 9
    Lượt 5: 1 2 3 6 7 9
    Kết thúc.

    GTSX kiểu thêm dần(Insert-sort)
    -GT: Ban đầu coi dãy khoá chỉ gồm một khoá k1. Ở lượt 2 ta xét khoá k2, thì ta phải tìm vị trí để chèn k2 bằng cách so sánh k2 với k1. Ở lượt thứ 3 ta xét khoá k3, thì ta phải so sánh k3 với các khoá đã được xếp để tìm vị trí chèn k3 vào. Quá trình tiếp tục cho đến khi khoá kn được chèn vào đúng vị trí.

    -VD:
    Ban đầu : 2 9 3 6 7 1
    Lượt 1: 2 9 3 6 7 1
    Lượt 2: 2 9 3 6 7 1
    Lượt 3: 2 3 6 9 7 1
    Lượt 4: 2 3 6 7 9 1
    Lượt 5: 1 2 3 6 7 9
    Kết thúc.

    GTSX kiểu nổi bọt(Bubble-sort)
    -GT: Dãy khoá cần sắp xếp được duyệt từ cuối dãy lên nếu trên đường đi mà gặp 2 khoá mà ngược chiều sắp xếp(ở đây đang xét tăng dần ná) thì đổi chỗ cho nhau và tiếp tục lượt sắp xếp. Như vậy sau lượt thứ nhất thì khoá nhỏ nhất được "nổi" lên vị trí thứ nhất. Sau lượt thứ hai thì khoá nhỏ thứ 2. Quá trình sau j lượt thì j khoá được sắp xếp.
    -VD:
    Ban đầu : 2 9 3 6 7 1
    Lượt 1: 1 2 9 3 6 7
    Lượt 2: 1 2 3 9 6 7
    Lượt 3: 1 2 3 6 9 7
    Lượt 4: 1 2 3 6 7 9
    Lượt 5: 1 2 3 6 7 9
    Kết thúc.

    Đấy là các giải thuật sắp xếp cơ bản. Nếu cần mình sẽ đưa lên giả Pascal cho các giải thuật này. Và 3 giải thuật sắp xếp ở mức độ phức tạp hơn là hoà nhập(Merge-sort), phân đoạn(Quick-sort) hay vun đống(Heap-sort).
    Đã được chỉnh sửa lần cuối bởi chocolate1146 : 20-05-2009 lúc 09:25 AM.
    Avata - Định Công - Giáp Bát mùa lũ

  8. #8
    Ngày gia nhập
    09 2009
    Bài viết
    1

    Mặc định Sắp xếp!!!

    Attached Files Attached Files

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

  1. Giải thích giúp Giải thuật Euclid (tìm ƯSCLN)
    Gửi bởi duoirong trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 15
    Bài viết cuối: 15-04-2015, 12:06 PM
  2. Giải thuật shaker sort. Giúp mình giải thuật với?
    Gửi bởi nguyenhai trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 6
    Bài viết cuối: 29-01-2015, 10:53 PM
  3. Bài tập C Cần giải giúp 3 câu trong đề thi kĩ thuật lập trình C và Cấu trúc dữ liệu và giải thuật
    Gửi bởi nguyenthi0602 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 24-09-2012, 08:42 PM
  4. lưu đồ giải thuật bài mã đi tuần thuật toán quay lui vét cạn. Giúp mình với?
    Gửi bởi katemat000 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 05-01-2010, 10:53 PM
  5. Tài liệu về giải thuật mã hóa. Mã hóa file theo giải thuật DES. Ai có giúp mình?
    Gửi bởi daolong83 trong diễn đàn Công cụ, ebooks C#, ASP.NET, và Windows Mobile
    Trả lời: 6
    Bài viết cuối: 17-07-2009, 11:28 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