Announcement

Collapse
No announcement yet.

Demo nhỏ cho bài tìm hiểu class Dictionary trong .NET(CTDLGTNC)

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #31
    Originally posted by 08520021 View Post
    Bài này chỉ là tìm hiểu lớp Dictionary trong .NET thôi, chứ chưa phải là bài từ điển, với lại mình cũng chưa nghĩ là sẽ dùng mảng măng mà định dùng cây cho bài từ điển
    Sao lại dùng cây/hash cho bài từ điển mà không phải là tìm kiếm nhị phân [sắp xếp lại 1 lần dùng xài xả láng].
    Nếu xét về cấu trúc thì nó khá tương tự nhau, tìm kiếm nhị phân có thể được hiểu như cây tìm kiếm cân bằng. Đơn giản nhưng thực sự hiệu quả hơn so với cây.
    Phạm Minh Tâm
    Phone: 01643-652-922
    Skype ID: tampham47@live.com

    Comment


    • #32
      Originally posted by 09520134 View Post
      Thì ai chả biết là XML lưu trữ được dung lượng lớn (lớn bao nhiêu thì kệ, lười đi tìm ), nhưng cái chính là khi dung lượng lớn thì nó sẽ xử lý như thế nào, tốc độ ra sao. Bạn trên kia đã nói rõ ràng là XML không hiệu quả trong trường hợp dữ liệu lớn là đúng rồi mà bác còn chém )
      Ngày trước mình làm từ điển XML, sử dụng XPath để di chuyển trong đó. Dữ liệu từ điển thầy Toàn cho có khoảng trăm mấy gần hai trăm ngàn từ. Dùng Xpath để truy xuất nó ra chớp nhoáng ngay, click cái là có kết quả luôn.

      Comment


      • #33
        Originally posted by 08520348 View Post
        Ngày trước mình làm từ điển XML, sử dụng XPath để di chuyển trong đó. Dữ liệu từ điển thầy Toàn cho có khoảng trăm mấy gần hai trăm ngàn từ. Dùng Xpath để truy xuất nó ra chớp nhoáng ngay, click cái là có kết quả luôn.
        Dạ thì em có bảo là không xài được đâu T_T, em chỉ bảo là đối với lượng dữ liệu lớn thì có thể nó không hiệu quả bằng SQL. Mà như thế nào gọi là lớn? Cái này hình như đụng đến Fuzzy logic )

        P.S: chưa học fuzzy logic T_T

        Comment


        • #34
          Originally posted by 09520434 View Post
          Sao lại dùng cây/hash cho bài từ điển mà không phải là tìm kiếm nhị phân [sắp xếp lại 1 lần dùng xài xả láng].
          Nếu xét về cấu trúc thì nó khá tương tự nhau, tìm kiếm nhị phân có thể được hiểu như cây tìm kiếm cân bằng. Đơn giản nhưng thực sự hiệu quả hơn so với cây.
          Với dữ liệu lớn thì liệu bạn có nắm chắc được thời gian sắp xếp ko? Và liệu khi bạn sắp xếp xong rồi thị liệu tốc độ tìm kiếm nhị phân trên dữ liệu lớn là nhanh mà ít tiêu hao bộ nhớ nhất? Sử dụng cây và hashtable cho kết quả tìm kiếm nhanh hơn hẳn.
          Còn nói đến việc tìm từ gần đúng nếu từ đó không có trong từ điển thì như bạn nói là sql có thể làm được bởi vì nó dùng Regular Expression. Với xml, bạn hoàn toàn có thể làm được điều này khi kết hợp XPath và Regular Expression
          Last edited by 09520548; 16-03-2012, 14:33.
          Không có gì là không thể nếu chúng ta có lòng tin.
          http://gabrielbl.com

          Comment


          • #35
            Originally posted by 10520213 View Post
            em cũng đang làm đồ án từ điển
            lúc đầu e cũng nghĩ là dùng sql để làm csdl nhưng được mấy anh khuyên dùng xml mà cũng chưa hiểu về cái này lắm
            mong các anh chị giúp đỡ e về phần xml này
            cụ thể thì mình cần những gì?
            Em nên tìm hiểu về cấu trúc xml, rồi Xpath và Regular Expression (trong C# nó viết la RegEx). Ngoài ra thì em cũng nên tìm hiểu về List, Dictionary trong C# (nếu em lập trình trên C#)
            Không có gì là không thể nếu chúng ta có lòng tin.
            http://gabrielbl.com

            Comment


            • #36
              Originally posted by 09520434 View Post
              Sao lại dùng cây/hash cho bài từ điển mà không phải là tìm kiếm nhị phân [sắp xếp lại 1 lần dùng xài xả láng].
              Nếu xét về cấu trúc thì nó khá tương tự nhau, tìm kiếm nhị phân có thể được hiểu như cây tìm kiếm cân bằng. Đơn giản nhưng thực sự hiệu quả hơn so với cây.
              Xài Hash table có 2 cái lợi: Thư nhất: Truy xuất nhanh. Thứ 2(Quan trọng) tiết kiệm chi phí

              Comment


              • #37
                Originally posted by 09520536 View Post
                Xài Hash table có 2 cái lợi: Thư nhất: Truy xuất nhanh. Thứ 2(Quan trọng) tiết kiệm chi phí
                Làm sao để truy xuất nhanh, làm sao để tiết kiệm chi phí chứ,
                Phạm Minh Tâm
                Phone: 01643-652-922
                Skype ID: tampham47@live.com

                Comment


                • #38
                  Originally posted by 09520434 View Post
                  Làm sao để truy xuất nhanh, làm sao để tiết kiệm chi phí chứ,
                  Vậy bạn biết hastable nó là cái gì không? Và bạn có biết độ phức tạp của nó là bao nhiêu không? Rồi bạn đã tìm hiểu về sử dụng cây B-Tree để truy cập dữ liệu trên bộ nhớ ngoài làm giảm việc phải tải dữ liệu vào bộ nhớ trong chưa? Bạn khăng khăng sử dụng sql là tốt nhất để lưu dữ liệu từ điển, nhưng khi bạn thêm 1 dữ liệu mới vào thì việc tìm kiếm nhị phân của bạn liệu có ít hay không? Hay là cần phải sắp xếp lại một lần nữa? Mình đã từng chạy chương trình sắp xếp từ trên file để có thể tìm kiếm được nhị phân, và thời gian đã chạy được là 12h treo máy tính cho nó chạy. Liệu cứ mỗi lần thêm vào lại phải sắp xếp lại à?
                  Không có gì là không thể nếu chúng ta có lòng tin.
                  http://gabrielbl.com

                  Comment


                  • #39
                    Originally posted by 09520548 View Post
                    Vậy bạn biết hastable nó là cái gì không? Và bạn có biết độ phức tạp của nó là bao nhiêu không? Rồi bạn đã tìm hiểu về sử dụng cây B-Tree để truy cập dữ liệu trên bộ nhớ ngoài làm giảm việc phải tải dữ liệu vào bộ nhớ trong chưa? Bạn khăng khăng sử dụng sql là tốt nhất để lưu dữ liệu từ điển, nhưng khi bạn thêm 1 dữ liệu mới vào thì việc tìm kiếm nhị phân của bạn liệu có ít hay không? Hay là cần phải sắp xếp lại một lần nữa? Mình đã từng chạy chương trình sắp xếp từ trên file để có thể tìm kiếm được nhị phân, và thời gian đã chạy được là 12h treo máy tính cho nó chạy. Liệu cứ mỗi lần thêm vào lại phải sắp xếp lại à?
                    Thì mình hỏi để biết những cái bạn nói ở trên là gì mà. (mình thực sự muốn biết nó là cái gì và nó hoạt động như thế nào mà) ^^
                    Mình không khăng khăng sử dụng SQL là tốt nhất cho từ điển đâu. Mình chỉ nói những ưu điểm của nó thôi mà,
                    Từ điển ít khi thêm vào và đâu phải phương pháp làm cho nó theo thứ tự cũng mất 12h treo máy như bạn.
                    Phạm Minh Tâm
                    Phone: 01643-652-922
                    Skype ID: tampham47@live.com

                    Comment


                    • #40
                      Originally posted by 09520434 View Post
                      Thì mình hỏi để biết những cái bạn nói ở trên là gì mà. (mình thực sự muốn biết nó là cái gì và nó hoạt động như thế nào mà) ^^
                      Mình không khăng khăng sử dụng SQL là tốt nhất cho từ điển đâu. Mình chỉ nói những ưu điểm của nó thôi mà,
                      Từ điển ít khi thêm vào và đâu phải phương pháp làm cho nó theo thứ tự cũng mất 12h treo máy như bạn.
                      Ở đây mình nói việc treo máy 12h không phải áp dụng vào dữ liệu từ điển trên, mình chỉ lấy ví dụ về việc sắp xếp dữ liệu lớn theo thứ tự thôi. Còn bạn muốn biết những cái mình nói là gì và hoạt động như thế nào, bạn có thể tìm kiếm trong box của khoa Khoa học máy tính, hoặc lập một topic mới để hỏi cho rõ hơn
                      Không có gì là không thể nếu chúng ta có lòng tin.
                      http://gabrielbl.com

                      Comment


                      • #41
                        @Lân: Với 1 người ko nắm được độ phức tạp của thuật toán thì nói thếnào cũng ko hiểu đâu. ^^.

                        Comment


                        • #42
                          Originally posted by 09520536 View Post
                          @Lân: Với 1 người ko nắm được độ phức tạp của thuật toán thì nói thế nào cũng ko hiểu đâu. ^^.
                          Originally posted by 09520548 View Post
                          Vậy bạn biết hastable nó là cái gì không? Và bạn có biết độ phức tạp của nó là bao nhiêu không?
                          Độ phức tạp của hashtable chắc là khủng lắm nhỉ,

                          Originally posted by 09520548 View Post
                          Rồi bạn đã tìm hiểu về sử dụng cây B-Tree để truy cập dữ liệu trên bộ nhớ ngoài làm giảm việc phải tải dữ liệu vào bộ nhớ trong chưa?
                          Bạn không biết rằng mình đang nói về SQL lun phải không, =))
                          Phạm Minh Tâm
                          Phone: 01643-652-922
                          Skype ID: tampham47@live.com

                          Comment


                          • #43
                            Originally posted by 09520434 View Post
                            Độ phức tạp của hashtable chắc là khủng lắm nhỉ,


                            Bạn không biết rằng mình đang nói về SQL lun phải không, =))
                            Nếu bạn chưa từng sử dụng qua Hashtable và cũng chưa biết Hashtable là gì thì vui lòng google hoặc tìm tài liệu và demo để thử, chứ cãi cùn thế này gây ức chế cho người khác là không nên. Nếu bạn google không được thì mình có sẵn link cho bạn tìm hiểu: http://diendan.tinhocmo.net/showthread.php?tid=2661

                            Và mình đoán chắc là bạn cũng không biết độ phức tạp của thuật toán là gì và có ý nghĩa như thế nào nên bạn đọc thêm link này nữa nhé: http://vi.wikipedia.org/wiki/Độ_phức_tạp_thuật_toán
                            Last edited by Admin; 16-03-2012, 19:07.

                            Comment


                            • #44
                              Vote cho admin. Một bài toán có thể có nhiều cách giải nhưng làm sao để tối ưu hoá bài toán đó. Đó mới là điều quan trọng.

                              Comment


                              • #45
                                Originally posted by 09520536 View Post
                                Vote cho admin. Một bài toán có thể có nhiều cách giải nhưng làm sao để tối ưu hoá bài toán đó. Đó mới là điều quan trọng.
                                bạn đồng ý,
                                Phạm Minh Tâm
                                Phone: 01643-652-922
                                Skype ID: tampham47@live.com

                                Comment

                                LHQC

                                Collapse
                                Working...
                                X