>> ZAMYLA ಚಾನ್: ನೀವು ಬಹುಶಃ ಮೊದಲ ವಿಷಯ ಹೇಗೆ ಬಗ್ಗೆ ಸೂಚನೆ ಎಂದು ನಾವು ಈಗಾಗಲೇ
ಕೋಡ್ ನಮಗೆ ಬರೆದಿದ್ದಾರೆ.
ಈ ವಿತರಣಾ ಕೋಡ್ ಎಂದು ಕರೆಯುತ್ತಾರೆ.
ಆದ್ದರಿಂದ ನಾವು ನಮ್ಮ ಸ್ವಂತ ಬರೆಯಲು ಇಲ್ಲ ಎಲ್ಲಿಯೂ ಆರಂಭದಿಂದ ಕೋಡ್.
ಬದಲಿಗೆ, ನಾವು ಖಾಲಿಜಾಗಗಳು ತುಂಬುವ ಮಾಡುತ್ತಿದ್ದೇವೆ ಕೆಲವು ಪೂರ್ವ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಕೋಡ್.
>> find.c ಪ್ರೋಗ್ರಾಂ ಸಂಖ್ಯೆಗಳನ್ನು ಕೇಳುತ್ತದೆ ಬಣಬೆ ತುಂಬಲು, ಹುಡುಕುತ್ತದೆ
ಒಂದು ಬಳಕೆದಾರ ಸಲ್ಲಿಸಿದ ಸೂಜಿ ಬಣಬೆ, ಮತ್ತು ಇದು ರೀತಿಯ ಕರೆದು ಮೂಲಕ ಹೀಗೆ ಮಾಡುತ್ತದೆ
ಹುಡುಕಾಟ, ಕಾರ್ಯಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆ helpers.c ರಲ್ಲಿ.
ಆದ್ದರಿಂದ find.c ಈಗಾಗಲೇ ಬರೆಯಲಾಗಿದೆ.
ನಿಮ್ಮ ಕೆಲಸ ಸಹಾಯಕರು ಬರೆಯಲು.
>> ನಾವು ಏನು ಮಾಡುತ್ತಿದ್ದಿಯಾ?
ನಾವು ಎರಡು ಕಾರ್ಯಗಳನ್ನು ಅನುಷ್ಠಾನಕ್ಕೆ ಮಾಡುತ್ತಿದ್ದೇವೆ.
ನಿಜವಾದ ಹಿಂದಿರುಗಿಸುತ್ತದೆ ಇದು ಹುಡುಕು, ಒಂದು ಮೌಲ್ಯವನ್ನು ಹಿಂದಿರುಗಿದ, ಬಣಬೆ ಕಂಡುಬರುತ್ತದೆ
ಸುಳ್ಳು ಮೌಲ್ಯವನ್ನು ವೇಳೆ ಅಲ್ಲ ಬಣಬೆ.
ನಂತರ ನಾವು ರೀತಿಯ ಅನುಷ್ಠಾನಕ್ಕೆ ನೀವು, ಇದು ಮೌಲ್ಯಗಳನ್ನು ಎಂಬ ರೀತಿಯ ರಚನೆಯ.
ಆದ್ದರಿಂದ ಹುಡುಕಾಟ ನಿಭಾಯಿಸಲು ಅವಕಾಶ.
>> ಹುಡುಕು ಪ್ರಸ್ತುತ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗಿದೆ ರೇಖೀಯ ಹುಡುಕಾಟ.
ಆದರೆ ನೀವು ಹೆಚ್ಚು ಉತ್ತಮ ಮಾಡಬಹುದು.
ರೇಖೀಯ ಹುಡುಕಾಟ n ಓ ಅಳವಡಿಸಲಾಗಿದೆ ಸ್ವಲ್ಪ ನಿಧಾನ ಇದು ಸಮಯ, ಇದು ಆದರೂ
ಇದು ನೀಡಿದ ಯಾವುದೇ ಪಟ್ಟಿಯಲ್ಲಿ ಹುಡುಕಬಹುದು.
ನಿಮ್ಮ ಕೆಲಸ ಬೈನರಿ ಸರ್ಚ್ ಕಾರ್ಯಗತಗೊಳಿಸಲು ಆಗಿದೆ, ಲಾಗ್ N ಸಮಯ ಒ ರನ್ ಇದು.
ಆ ಬಹಳ ವೇಗವಾಗಿ ಇಲ್ಲಿದೆ.
>> ಆದರೆ ಒಂದು ಷರತ್ತು ಇಲ್ಲ.
ಬೈನರಿ ಸರ್ಚ್ ಮಾತ್ರ ಹುಡುಕಬಹುದು ಮೊದಲೇ ವಿಂಗಡಿಸಲಾದ ಪಟ್ಟಿಗಳನ್ನು ಮೂಲಕ.
ಏಕೆ ಎಂದು?
ಅಲ್ಲದೆ, ಒಂದು ಉದಾಹರಣೆಯನ್ನು ನೋಡೋಣ.
ಮೌಲ್ಯಗಳ ಒಂದು ಶ್ರೇಣಿಯನ್ನು ನೀಡಿದ, ಬಣಬೆ, ನಾವು ನೋಡುತ್ತಿರುವ ನೀನು
ಒಂದು ಸೂಜಿ, ಮತ್ತು ಈ ರಲ್ಲಿ ಉದಾಹರಣೆಗೆ, ಪೂರ್ಣಾಂಕ 3.
>> ಬೈನರಿ ಸರ್ಚ್ ಕೆಲಸ ರೀತಿಯಲ್ಲಿ ಎಂದು ನಾವು ಮಧ್ಯದಲ್ಲಿ ಮೌಲ್ಯವನ್ನು ಹೋಲಿಸಿ
ಹೆಚ್ಚು ಸೂಜಿ ರಚನೆಯ, ಹೇಗೆ ನಾವು ಮಧ್ಯಮ ಫೋನ್ ಪುಸ್ತಕ ತೆರೆಯಿತು
ವಾರ 0 ಪುಟ.
ಆದ್ದರಿಂದ ಮಧ್ಯಮ ಮೌಲ್ಯವನ್ನು ಹೋಲಿಕೆ ನಂತರ ಸೂಜಿ, ನೀವು ಎರಡೂ ತಿರಸ್ಕರಿಸಬಹುದು
ಎಡ ಅಥವಾ ರಚನೆಯ ಬಲ ಅರ್ಧ ನಿಮ್ಮ ರಭಸದಿಂದ ಬಿಗಿ ಮೂಲಕ.
ಈ ಸಂದರ್ಭದಲ್ಲಿ, 3 ರಿಂದ ನಮ್ಮ ಸೂಜಿ, ಆಗಿದೆ ಕಡಿಮೆ 10, ಮಧ್ಯದ ಮೌಲ್ಯವು
ಬಲ ಬೌಂಡ್ ಕಡಿಮೆ ಮಾಡಬಹುದು.
>> ಆದರೆ ನಿಮ್ಮ ರಭಸದಿಂದ ಮಾಡಲು ಪ್ರಯತ್ನಿಸಿ ಸಾಧ್ಯವಾದಷ್ಟು ಬಿಗಿಯಾಗಿ.
ಮಧ್ಯಮ ಮೌಲ್ಯ ಸೂಜಿ ಇದ್ದರೆ, ನಂತರ ನೀವು ಅಗತ್ಯವಿಲ್ಲ ತಿಳಿದಿದೆ
ನಿಮ್ಮ ಹುಡುಕಾಟ ಸೇರಿವೆ.
ಆದ್ದರಿಂದ ಹೊರಟ ನಿಮ್ಮ ಬಲ ಬಿಗಿಗೊಳಿಸುತ್ತದಾದರಿಂದ ಕೇವಲ ಸಣ್ಣ ಬಿಟ್ ಹೆಚ್ಚು ಹುಡುಕಾಟ ಗಡಿ,
ಹೀಗೆ ಇತ್ಯಾದಿ, ರವರೆಗೆ ನಿಮ್ಮ ಸೂಜಿ ಕಾಣಬಹುದು.
>> ಆದ್ದರಿಂದ ಹುಸಿ ಏನು ಮಾಡುತ್ತದೆ ಕೋಡ್ ರೀತಿ?
ಹಾಗೆಯೇ, ನಾವು ಇನ್ನೂ ಮೂಲಕ ಹುಡುಕುತ್ತಿರುವ ಸಂದರ್ಭದಲ್ಲಿ ಪಟ್ಟಿ ಮತ್ತು ಇನ್ನೂ
ನೋಡಲು ಅಂಶಗಳನ್ನು ನಾವು ಮಧ್ಯಮ ತೆಗೆದುಕೊಳ್ಳಬಹುದು ಪಟ್ಟಿಯ ಮತ್ತು ಹೋಲಿಸಿ
ನಮ್ಮ ಸೂಜಿಗೆ ಮಧ್ಯಮ ಮೌಲ್ಯ.
ಅವರು ಸಮಾನ ಆಗಿದ್ದರೆ, ಆಗ ನಾವು ನೀವು ಅರ್ಥ ಸೂಜಿ ಕಂಡು, ಮತ್ತು ನಾವು
ನಿಜವಾದ ಹಿಂತಿರುಗಿ.
>> ಇಲ್ಲವಾದರೆ, ಸೂಜಿ ಕಡಿಮೆ ವೇಳೆ ಮಧ್ಯದ ಮೌಲ್ಯವು ನಂತರ ನಾವು ಅರ್ಥ
ಸರಿಯಾದ ಅರ್ಧ ತಿರಸ್ಕರಿಸಲು ಮತ್ತು ಮಾಡಬಹುದು ರಚನೆಯ ಎಡಭಾಗದಲ್ಲಿ ಹುಡುಕಲು.
ಇಲ್ಲವಾದರೆ, ನಾವು ಹುಡುಕಲು ಮಾಡುತ್ತೇವೆ ರಚನೆಯ ಬಲಭಾಗದ.
ಮತ್ತು ಕೊನೆಯಲ್ಲಿ, ನೀವು ಯಾವುದೇ ಇಲ್ಲ ಹೆಚ್ಚು ಹುಡುಕಲು ಎಡ ಅಂಶಗಳನ್ನು ಆದರೆ ನೀವು
ಇನ್ನೂ ನಿಮ್ಮ ಸೂಜಿ ಕಂಡುಬಂದಿಲ್ಲ, ನಂತರ ನೀವು ರಿಟರ್ನ್ ಸುಳ್ಳು.
ಸೂಜಿ ಖಂಡಿತವಾಗಿ ಬಣಬೆ ಅಲ್ಲ.
>> ಈಗ, ಈ ಹುಸಿ ಬಗ್ಗೆ ಒಂದು ಅಚ್ಚುಕಟ್ಟಾಗಿ ವಿಷಯ ಬೈನರಿ ಸರ್ಚ್ ಸಂಕೇತ ಅದು ಎಂದು
ರೋಗ ಎರಡೂ ಅರ್ಥೈಸಿಕೊಳ್ಳಬೇಕು ಅಥವಾ ಪುನರಾವರ್ತಿತ ಅನುಷ್ಠಾನ.
ನೀವು ಎಂದು ಆದ್ದರಿಂದ ಇದು ಪುನರಾವರ್ತಿತ ಎಂದು ಹುಡುಕಾಟ ಒಳಗೆ ಹುಡುಕಾಟ ಕಾರ್ಯ
ರಚನೆಯ ಎರಡೂ ಅರ್ಧ ಮೇಲೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ.
ನಾವು ಪುನರಾವರ್ತನ ಸ್ವಲ್ಪ ರಕ್ಷಣೆ ಮಾಡುತ್ತೇವೆ ನಂತರ ಕೋರ್ಸ್.
ಆದರೆ ಒಂದು ಆಯ್ಕೆಯನ್ನು ಎಂದು ಗೊತ್ತು ನೀವು ಪ್ರಯತ್ನಿಸಿ ಬಯಸಿದಲ್ಲಿ.