Python tìm mảng 1D cực đại cục bộ
Persistence1D là một lớp để tìm cực trị cục bộ và tính bền vững của chúng trong dữ liệu một chiều. Cực tiểu cục bộ và cực đại cục bộ được trích xuất, ghép nối và sắp xếp theo độ bền của chúng Show Mã chạy trong thời gian O(n log n), trong đó n là số điểm đầu vào Để làm mịn dữ liệu đầu vào ồn ào, công cụ này được ghép nối tốt nhất với Reconstruct1D. một công cụ để làm mịn dữ liệu một chiều dựa trên cấu trúc liên kết. Điều này cho phép tạo một hàm trơn tru chỉ chứa cực tiểu/cực đại có độ bền cao Gói hỗ trợ C ++, Python và Matlab Phiên bản C++ và Matlab của Persistence1D được viết bởi Yeara Kozlov và Tino Weinkauf, Viện Tin học Max Planck, Saarbrücken, Đức. Phiên bản Python đã được viết bởi Tino Weinkauf, Viện Công nghệ Hoàng gia KTH, Stockholm, Thụy Điển. Bạn có thể sử dụng nó theo ý muốn, nó thuộc phạm vi công cộng. Nếu bạn thấy nó hữu ích, rất vui được nghe từ bạn. Chỉ cần thả chúng tôi một dòng Sự nổi bật của một đỉnh đo mức độ nổi bật của đỉnh do chiều cao nội tại của nó và vị trí của nó so với các đỉnh khác. Một đỉnh thấp bị cô lập có thể nổi bật hơn một đỉnh cao hơn nhưng lại là một thành viên không đáng chú ý của dải cao Để đo sự nổi bật của một đỉnh
Số đỉnh Khoảng bên trái Nằm giữa Đỉnh và Khoảng bên phải Nằm giữa Đỉnh và Điểm thấp nhất ở khoảng bên trái Điểm thấp nhất ở khoảng bên phải Mức tham chiếu (Tối thiểu cao nhất)1 Điểm cuối bên tráiGiao nhau do đỉnh 2Điểm cuối bên tráiđiểm aa2Kết thúc bên tráiĐiểm cuối bên tráiĐiểm cuối bên tráiĐiểm cuối bên trái Độ nổi bật của cực đại cục bộ (hoặc cực đại) đo mức độ nổi bật của cực đại đối với chiều cao và vị trí của nó so với các cực đại khác Để đo độ nhô của một đỉnh, trước tiên hãy kéo dài một đường ngang từ đỉnh. Tìm nơi đường giao cắt dữ liệu ở bên trái và bên phải, đó sẽ là một đỉnh khác hoặc phần cuối của dữ liệu. Đánh dấu các vị trí này là điểm cuối bên ngoài của khoảng thời gian bên trái và bên phải. Tiếp theo, tìm thung lũng thấp nhất trong cả hai khoảng thời gian. Lấy phần lớn hơn trong hai thung lũng này và đo khoảng cách thẳng đứng từ thung lũng đó đến đỉnh. Khoảng cách này là điểm nổi bật Đối với một vectơ Tiếp cận. Ý tưởng là lặp lại mảng đã cho arr[] và kiểm tra xem mỗi phần tử của mảng là nhỏ nhất hay lớn nhất trong số các phần tử liền kề của chúng. Nếu nó nhỏ nhất thì nó là cực tiểu địa phương và nếu nó lớn nhất thì nó là cực đại địa phương. Dưới đây là các bước
Dưới đây là cách triển khai của phương pháp trên. C++
________số 8
________ 35 ________ 54 ________ 49 ________ 56
________ 35 ________ 54 ________ 49 ________ 86
________ 35 ________ 54 ________ 49 ________ 105
_______51____311
________ 35 ________ 54
_______51____118____330
_______51____311
________ 35 ________ 54
Java
________số 8
________ 386 ________ 387 ________ 10
_______51____421____416
_______51____433____416
_______87____474____418
_______523____524____423 _______51____64____528
_______51____534
________ 35 ________ 54 _______51____540____541 _______523____544____423
_______523____558____423
_______51____534
________ 35 ________ 54
Python3
_______51____652____416
_______51____663____416
_______51____682
_______51____695
_______51____742
_______51____751____65____763 ________ 35 ________ 54 ________ 767 _______51____751____65______771
_______51
________ 35 ________ 54 ________ 767 _______51____751____65____804
|