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

  • #46
    Bạn 09520434 hình như hơi mơ hồ giữa khái niệm "SQL" với khái niệm "cơ sở dữ liệu quan hệ" và "hệ quản trị cơ sở dữ liệu quan hệ". SQL là một ngôn ngữ - Structured query language. Ngôn ngữ không thể đảm bảo được tốc độ hay bộ nhớ mà tất cả phụ thuộc vào chương trình bên dưới sẽ xử lý ngôn ngữ đó như thế nào. Chương trình đó thường sẽ là hệ quản trị cơ sở dữ liệu, và hiện nay hầu hết hệ quản trị cơ sở dữ liệu phổ biến dùng mô hình cơ sở dữ liệu quan hệ.

    Và để có thể truy vấn dữ liệu được nhanh chóng thì Cây và hashtable là những cấu trúc dữ liệu không thể thiếu trong quá trình xây dựng hệ quản trị cơ sở dữ liệu. Như vậy quanh đi quẩn lại bạn cũng không thoát được cây và hashtable. Có chăng là thay vì tự làm thì bạn dùng cái người ta đã xây dựng sẵn thôi. Và đứng từ góc nhìn của người chấm bài thì đi học mà không tự làm bài lại lệ thuộc quá nhiều vào những thứ đã được xây dựng sẵn ắt sẽ không được đánh giá cao. Có lẽ nếu bạn tìm hiểu kỹ hơn về vấn đề này chắc bạn sẽ không đưa ra các câu hỏi ngô nghê như vậy.

    Comment


    • #47
      Lần sau 09520434 sẽ sử dụng những khái niệm chuẩn xác hơn (nhưng hấu như tất cả mọi người đểu hiểu SQL mà 09520434 nói tới là cái gì mà, ngay cả SQL server, mySQL cũng là cái tên để nói về sản phẩm "hệ quản trị cơ sở dữ liêu" đó thôi).

      Nếu không có những câu hỏi ngô nghê như vậy thì forum dùng để làm gì bạn truonganpn.

      Nhưng dù sao câu trả lời của truonganpn cũng giúp 09520434 hiểu hashtable dùng để làm gì, thank truonganpn nhìu nhìu.
      Phạm Minh Tâm
      Phone: 01643-652-922
      Skype ID: tampham47@live.com

      Comment


      • #48
        +)) Tự nhiên đang ở SQL và XML kéo đâu qua Hash table =))

        Mình có 1 lần tìm hiểu về 1 phần source của Google Chrome (lúc mình backup và tìm hiểu về cơ chế lưu password trong Google Chrome).
        GC dùng SQLite + Hashtable. Nếu nói XML nhanh hơn thì GC đã lưu XML + Hashtable vì mình đọc đoạn code đó thấy Google tối ưu rất nhiều, thậm chí dùng cơ chế crypto của win để mã hóa password người dùng.

        Mấy bồ trên chơi gian quá nhỉ )

        Originally posted by 09520548 View Post
        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
        SQL cũng dùng được Hashtable.

        Originally posted by 09520434 View Post
        Độ phức tạp của hashtable chắc là khủng lắm nhỉ,
        Ko nên đánh giá thấp về Hashtable. Trong trường hợp database cực lớn nhưng các record khác nhau nhiều thì Hashtable rất có lợi, chi phí tìm kiếm có thể đạt được O(1). Chỉ khi các record sau hash giống giống nhau thì tìm kiếm mới lâu thôi. Nhưng TH đó rất hiếm xảy ra.

        Ko bik mấy bồ tèo bên trên đã tham khảo nguồn mà bạn Khải đưa chưa nhỉ ?

        However, XML has a major drawback: it is slower than SQL when processing data, and requires more resources to run.
        XML rất là flexible, nhưng slower when processing.

        Effiency mà mấy bạn đưa ra là gì ? Flexible thì đi XML, Muốn run time thấp thì đi qua SQL.

        Originally posted by 09520548 View Post
        Ở đâ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 :)
        Câu này giống khinh khỉnh ng` khác quá Lân.

        Originally posted by truonganpn View Post
        Bạn 09520434 hình như hơi mơ hồ giữa khái niệm "SQL" với khái niệm "cơ sở dữ liệu quan hệ" và "hệ quản trị cơ sở dữ liệu quan hệ". SQL là một ngôn ngữ - Structured query language. Ngôn ngữ không thể đảm bảo được tốc độ hay bộ nhớ mà tất cả phụ thuộc vào chương trình bên dưới sẽ xử lý ngôn ngữ đó như thế nào. Chương trình đó thường sẽ là hệ quản trị cơ sở dữ liệu, và hiện nay hầu hết hệ quản trị cơ sở dữ liệu phổ biến dùng mô hình cơ sở dữ liệu quan hệ.

        Và để có thể truy vấn dữ liệu được nhanh chóng thì Cây và hashtable là những cấu trúc dữ liệu không thể thiếu trong quá trình xây dựng hệ quản trị cơ sở dữ liệu. Như vậy quanh đi quẩn lại bạn cũng không thoát được cây và hashtable. Có chăng là thay vì tự làm thì bạn dùng cái người ta đã xây dựng sẵn thôi. Và đứng từ góc nhìn của người chấm bài thì đi học mà không tự làm bài lại lệ thuộc quá nhiều vào những thứ đã được xây dựng sẵn ắt sẽ không được đánh giá cao. Có lẽ nếu bạn tìm hiểu kỹ hơn về vấn đề này chắc bạn sẽ không đưa ra các câu hỏi ngô nghê như vậy.
        SQL ko thể đảm bảo, nhưng những chương trình cụ thể như MySQL, SQLite, ..... phải đảm bảo được điều đó. Ví dụ search trong O(n) (Linear complexity) chứ ko khơi khơi là.....tôi cung cấp hàm search mà tôi ko bik nó chạy bao lâu. Cái đó rất kỳ quái. XML thì cũng vậy. XML cũng chỉ là ngôn ngữ. Quan trọng là anh gọi ai xử lý cái database đó. Hàm đó cung cấp search và sort bao lâu ?
        Nếu vậy thì không dùng SQL và XML. xài file txt. hết phim.

        Cuối cùng mình thấy 2 bạn trên cãi giống như đang cãi nhau: Array và List cái nào tốt hơn.
        Last edited by 09520019; 16-03-2012, 22:01.
        Khoảng cách giữa bạn và ước mơ của bạn là bao xa ?

        Comment

        LHQC

        Collapse
        Working...
        X