Trang Chủ Tài chính Cá nhân Làm việc với các hàm thuật toán - núm vú

Làm việc với các hàm thuật toán - núm vú

Video: Các hàm trong Excel - HƯỚNG DẪN HỌC EXCEL - Cách làm bài tập Excel 2025

Video: Các hàm trong Excel - HƯỚNG DẪN HỌC EXCEL - Cách làm bài tập Excel 2025
Anonim

Một hàm trong toán học chỉ đơn giản là một cách để ánh xạ một số đầu vào cho một đáp ứng. Biểu hiện theo một cách khác, chức năng là sự chuyển đổi (dựa trên phép toán) biến đổi (bản đồ) đầu vào của bạn thành câu trả lời.

Đối với các giá trị đầu vào nhất định (thường được biểu thị bằng chữ cái x hoặc n), bạn có câu trả lời tương ứng sử dụng toán học xác định hàm. Ví dụ, một hàm như f (n) = 2 n cho bạn biết khi đầu vào của bạn là n, câu trả lời của bạn là số n nhân với 2.

Sử dụng kích thước của đầu vào có ý nghĩa cho rằng đây là một thời đại quan trọng tuổi tác và cuộc sống của người dân được crammed với một số lượng ngày càng tăng của dữ liệu. Làm cho tất cả mọi thứ một chức năng toán học ít trực quan, nhưng một chức năng mô tả cách một thuật toán liên quan đến giải pháp của nó với số lượng dữ liệu nhận được là một cái gì đó bạn có thể phân tích mà không cần phần cứng hoặc hỗ trợ phần mềm cụ thể. Nó cũng dễ dàng so sánh với các giải pháp khác, với kích thước của vấn đề. Phân tích các thuật toán thực sự là một khái niệm thổi tâm trí bởi vì nó làm giảm một loạt các bước phức tạp thành một công thức toán học.

Big O, và bạn thường gặp một tập các hàm nhỏ (đặt trong dấu ngoặc đơn và trước bởi một số vốn

O) >) được sử dụng để đại diện cho việc thực hiện các thuật toán. Hình này cho thấy phân tích của một thuật toán. Một hệ tọa độ Cartesian có thể biểu diễn chức năng của nó như được đo bằng mô phỏng RAM, trong đó abscissa (tọa độ x) là kích thước của đầu vào và tọa độ (tọa độ y) kết quả của hoạt động. Bạn có thể thấy ba đường cong được trình bày. Kích thước đầu vào vấn đề. Tuy nhiên, chất lượng cũng là vấn đề (ví dụ, khi đặt hàng vấn đề, nó nhanh hơn để đặt hàng một đầu vào đã được sắp xếp gần như).Do đó, phân tích cho thấy một trường hợp xấu nhất, f 1 (n), một trường hợp trung bình, f 2 (n trường hợp tốt nhất, f 3 (n). Mặc dù trường hợp trung bình có thể cung cấp cho bạn một ý tưởng chung, điều bạn thực sự quan tâm là trường hợp xấu nhất, bởi vì các vấn đề có thể phát sinh khi thuật toán của bạn đấu tranh để đạt được một giải pháp. Chức năng Big O là một trong số đó, sau một giá trị n0 nhất định (ngưỡng để xem xét một đầu vào lớn), luôn luôn dẫn đến một số lượng lớn các phép tính cho cùng một đầu vào so với hàm worst-case > f1. Do đó, chức năng của Big O thậm chí còn bi quan hơn so với thuật toán đại diện cho thuật toán của bạn, do đó không có vấn đề về chất lượng đầu vào, bạn có thể chắc chắn rằng mọi thứ không thể tệ hơn thế.

Độ phức tạp của một thuật toán trong trường hợp đầu vào tốt nhất, trung bình và xấu nhất. Nhiều chức năng có thể dẫn đến kết quả tồi tệ hơn, nhưng lựa chọn các chức năng được cung cấp bởi ký hiệu Big O mà bạn có thể sử dụng bị hạn chế vì mục đích của nó là đơn giản hóa phép đo phức tạp bằng cách đề xuất một tiêu chuẩn. Do đó, phần này chỉ chứa vài chức năng là một phần của ký hiệu Big O. Danh sách dưới đây mô tả chúng theo thứ tự phức tạp: Độ phức tạp liên tục O (1): Đồng thời, cho dù bạn nhập vào bao nhiêu. Cuối cùng, nó là một số hoạt động liên tục, cho dù dữ liệu đầu vào là bao lâu. Mức độ phức tạp này là khá hiếm trong thực tế. Độ phức tạp logarithmic O (log n):

Số lượng hoạt động phát triển chậm hơn so với đầu vào, làm cho thuật toán kém hiệu quả hơn với các đầu vào nhỏ và hiệu quả hơn với các kết quả lớn hơn. Một thuật toán điển hình của lớp này là tìm kiếm nhị phân.

Sự phức tạp tuyến tính O (n):

  • Các hoạt động phát triển với đầu vào theo tỉ lệ 1: 1. Một thuật toán điển hình là lặp, đó là khi bạn quét đầu vào một lần và áp dụng một thao tác cho mỗi phần của nó. Độ phức tạp tuyến tính O (n log n):
  • Tính phức tạp là sự kết hợp giữa sự phức tạp logarithmic và tuyến tính. Ðiển hình là một số thuật toán thông minh được sử dụng để đặt dữ liệu, chẳng hạn như Mergesort, Heapsort và Quicksort. Độ phức tạp bậc hai O (n
  • 2 ):
  • Các hoạt động phát triển như một hình vuông của số lượng đầu vào. Khi bạn có một lần lặp lại bên trong một lần lặp lại (lặp lại lồng nhau, trong khoa học máy tính), bạn có sự phức tạp bậc hai. Ví dụ, bạn có một danh sách các tên và, để tìm những cái giống nhau nhất, bạn so sánh mỗi tên với tất cả các tên khác. Một số thuật toán đặt hàng ít hiệu quả hơn trình bày sự phức tạp như vậy: sắp xếp bong bóng, sắp xếp lựa chọn và sắp xếp chèn. Mức độ phức tạp này có nghĩa là các thuật toán của bạn có thể chạy hàng giờ hoặc thậm chí vài ngày trước khi tìm ra giải pháp. Độ phức tạp của khối O (n
  • 3 ): Các hoạt động phát triển thậm chí còn nhanh hơn phức tạp thứ bậc bởi vì bây giờ bạn có nhiều lần lặp lồng nhau. Khi một thuật toán có thứ tự phức tạp này và bạn cần phải xử lý số lượng khiêm tốn của dữ liệu (100, 000 phần tử), thuật toán của bạn có thể chạy trong nhiều năm.Khi bạn có một số hoạt động mà là một sức mạnh của đầu vào, nó là phổ biến để tham khảo các thuật toán như chạy trong thời gian đa thức.
  • Sự phức tạp hàm mũ O (2 n ): Thuật toán mất hai lần số lần thực hiện trước cho mỗi phần tử mới được thêm vào. Khi một thuật toán có sự phức tạp này, ngay cả những vấn đề nhỏ có thể mất mãi mãi. Nhiều thuật toán tìm kiếm toàn diện có sự phức tạp hàm mũ. Tuy nhiên, ví dụ điển hình cho mức độ phức tạp này là việc tính toán các số Fibonacci. Sự phức tạp nhân tố O (n!):
  • Một cơn ác mộng thực sự phức tạp do có nhiều sự kết hợp có thể giữa các yếu tố. Chỉ cần tưởng tượng: Nếu đầu vào của bạn là 100 đối tượng và một thao tác trên máy tính của bạn mất 10 -6 999 giây (tốc độ hợp lý cho mỗi máy tính, hiện nay), bạn sẽ cần khoảng 10 140 năm để hoàn thành nhiệm vụ thành công (khoảng thời gian không thể kể từ khi vũ trụ được ước tính là 10
  • 14 năm). Một vấn đề phức tạp nổi bật giai đoạn là vấn đề người bán hàng đi du lịch, trong đó một nhân viên bán hàng phải tìm ra con đường ngắn nhất để thăm nhiều thành phố và trở lại thành phố khởi đầu.
Làm việc với các hàm thuật toán - núm vú

Lựa chọn của người biên tập

Cách chuyển đổi điện áp Hiện tại Bật và Tắt - núm vú

Cách chuyển đổi điện áp Hiện tại Bật và Tắt - núm vú

Chuyển mạch là chức năng quan trọng nhất trong thiết bị điện tử. Hãy nghĩ đến bộ TV của bạn: Bạn bật và tắt nguồn, chọn nguồn tín hiệu từ các lựa chọn đầu vào khác nhau (như đầu DVD, hộp cáp hoặc hệ thống chơi game) và thay đổi kênh truyền hình. Màn hình TV của bạn bao gồm hàng triệu điểm ảnh nhỏ (hình ảnh ...

Làm thế nào để Solder một Solid Joint trong Dự án Điện tử của bạn - núm vú

Làm thế nào để Solder một Solid Joint trong Dự án Điện tử của bạn - núm vú

Làm thế nào để Solder một Solid Joint trong dự án Điện tử của bạn < hình thức hàn phổ biến nhất khi tạo ra các dự án điện tử là thành phần hàn dẫn đến miếng đồng ở mặt sau của một bảng mạch in. Nếu bạn có thể làm điều đó, bạn sẽ không có vấn đề với các loại hàn khác, chẳng hạn như hàn hai dây với nhau hoặc hàn một dây vào một thiết bị đầu cuối chuyển đổi. Sau đây ...

ÁNh sáng-O-Rama Sequences được sử dụng trong chiếu sáng - đầu

ÁNh sáng-O-Rama Sequences được sử dụng trong chiếu sáng - đầu

Ở Light-O-Rama , một dãy được biểu diễn dưới dạng một lưới tương tự như lưới trong một chương trình bảng tính. Ví dụ, hình ảnh cho thấy một phần của một chuỗi rất đơn giản, trong đó đèn trên các kênh 1, 3 và 5 luân phiên bật và tắt mỗi nửa giây. Mỗi hàng trong lưới đại diện cho một ...

Lựa chọn của người biên tập

Làm thế nào để Tạo một trang Blog trong SharePoint - núm vú

Làm thế nào để Tạo một trang Blog trong SharePoint - núm vú

Để Tạo một blog trong SharePoint, bạn tạo ra một trang web mới hoặc địa điểm phụ. Dành thời gian để xem xét nơi blog này sẽ nằm trong thứ bậc trang web của bạn. Mặc dù bạn có thể thay đổi quyền ở bất kỳ mức nào, bạn vẫn có thể có blog tổng thống của bạn trên trang chính của SharePoint Intranet của bạn (và ...

Làm thế nào để tạo một ứng dụng tùy chỉnh trong SharePoint 2013 - núm vú

Làm thế nào để tạo một ứng dụng tùy chỉnh trong SharePoint 2013 - núm vú

Bạn tạo một ứng dụng tùy chỉnh sử dụng Custom Liệt kê ứng dụng. Ứng dụng Danh sách tùy chỉnh tạo ra một ứng dụng danh sách rất cơ bản mà sau đó bạn có thể tuỳ chỉnh cho kịch bản cụ thể của mình. Thực hiện theo các bước sau để tạo một ứng dụng tùy chỉnh: Nhấp vào biểu tượng bánh răng Cài đặt và chọn Thêm một ứng dụng. Trang Ứng dụng của bạn được hiển thị. Nhấp vào ...

Làm thế nào để Tạo một Thảo luận Ban App trong SharePoint - núm vú

Làm thế nào để Tạo một Thảo luận Ban App trong SharePoint - núm vú

Thêm một ứng dụng thảo luận trên SharePoint một quá trình rất đơn giản. Bạn chỉ cần chọn ứng dụng Thảo luận từ trang Apps You Can Add. Bạn có thể thêm nhiều bảng thảo luận vào trang web của mình như bạn muốn. Bạn có thể thấy nó mang lại lợi ích cho việc tạo ra một bảng thảo luận cho mỗi khu chức năng để giữ ...

Lựa chọn của người biên tập

Máy tính giả mạo dành cho Android hoặc Điều gì đặc biệt về Số 5554? - núm vú

Máy tính giả mạo dành cho Android hoặc Điều gì đặc biệt về Số 5554? - núm vú

Khi bạn khởi động trình mô phỏng thiết bị Android, tên của trình mô phỏng mới là cái gì đó giống như trình mô phỏng-5554 hoặc trình mô phỏng-5556. Tên bắt nguồn từ thực tế là mỗi lần chạy của trình mô phỏng Android sử dụng hai số cổng (hai kênh để giao tiếp với máy tính phát triển). Như bạn đã biết, trình duyệt web của bạn thường sử dụng số cổng 80 ...

Kích hoạt Chế độ xem trên Ứng dụng iOS của bạn - núm vú

Kích hoạt Chế độ xem trên Ứng dụng iOS của bạn - núm vú

Bất cứ khi nào bạn chỉ định một giá trị mới cho chế độ xem nhất định tài sản (như khung và thuộc tính của trung tâm), chế độ xem sẽ được vẽ lại ngay lập tức và thay đổi hiển thị ngay lập tức trên màn hình. Ngoài ra, thay đổi đối với một số thuộc tính xem (chẳng hạn như các thuộc tính được đề cập) có thể được hoạt hình. Điều này có nghĩa là việc thay đổi thuộc tính sẽ tạo ra hình ảnh động ...

Android: Sử dụng IDE Eclipse cho Phát triển Java - núm vú

Android: Sử dụng IDE Eclipse cho Phát triển Java - núm vú

Ngày nay, sử dụng một môi trường phát triển tích hợp (IDE) để phát triển Java dễ dàng hơn. IDE được chấp nhận rộng rãi nhất trong số các nhà phát triển Java là Eclipse. Bảng này cung cấp cho bạn các mẹo nhanh để sử dụng IDE Eclipse để phát triển các ứng dụng Android. Nhiệm vụ Làm thế nào để hoàn thành Bắt đầu một dự án mới của Android Từ màn hình Dự án mới, dưới Android ...