U E D R , A S I H C RSS

STL/search

Search

  • ปจํ…Œด„ˆ—„œ ฐ’„ ฐพŠ”‹ค. ฐพœฉด 1, ชปฐพœฉด 0„ ฆฌํ„ดํ•ด€‹ค.
  • STL—„œŠ” ตœ ˜ €ƒ‰ ธฐŠฅ„ žž‘ํ•˜Š”(ฮธ(logn)) Binary Search  œณตํ•ด€‹ค.
  • Binary Search€ ฌด—‡ดƒ? ‚ฌžŒด ‚ฌ „„ ฐพ„•Œ™€ „Šทํ•˜‹คณ  ณดฉด œ‹ค.
    1. ‚ฌ „˜ ฐ˜„ ํŽœ‹ค.
    2. งŒ•ฝ— ‚ด€ ฐพŠ”ฐ’ด ทธฒƒณด‹ค ’ค— žˆœฉด ‚˜จธ€ ’ท€„˜ ฐ˜„ ํŽœ‹ค.
    3. ทธฒƒ ณด‹จ •ž— žฃŒ€ กดžฌํ•˜ฉด ฒ˜Œ ํŽœ ณณ €ธˆ ํŽœณณ˜ €šดฐ ํŽœ‹ค.

  • ด  •„ žฌ€ œกœ ํ•˜ฉด ฐ’„ ฐพ„ˆ˜ žˆ‹ค. ดŸฐ ํƒƒ‰ ฐฉฒ•„ Binary Search ณ  €ฅธ‹ค. ดฒƒด „ฆฝํ•˜ คฉด, ›†Œ“คด  • ฌ˜–ด žˆณ , ž„˜ ‘(random)ด €Šฅํ•ด• ํ•œ‹ค.  • ฌด •ˆ˜–ด 2,3 ฒˆ˜  •„ „ƒํ• ˆ˜ —†‹ค.

  • STL—„œŠ” ตœ ˜ กฐํ•ฉœกœ, sort + binary_search ถ”ฒœํ•ด€‹ค. ˜ˆ œ ณดž.

~cpp 
#include <iostream>
#include <vector>
#include <algorithm>	// search •Œณ ฆฌฆ˜ “ฐธฐ œ„ํ•œฒƒ

using namespace std;

int main()
{
	int ar[10] = {45,12,76,43,75,32,85,32,19,98};	

	vector<int> v(&ar[0], &ar[10]);		
	sort(v.begin(), v.end());

	if(binary_search(v.begin(), v.end(), 85))
		cout << "ฐพ•˜‹ค.";
	else 
		cout << "ชปฐพ•˜‹ค.";

	return 0;
}
  • sortํ•ด€‹คŒ binary_search()˜ ธžกœŠ” ‹œž‘€„, €„, ฐพณ ž ํ•˜Š” ›†Œ. ด ‡ฒŒ „–ดฉด œ‹ค.
  • list ปจํ…Œด„ˆ™€ ฐ™ด ž„˜ ‘ iterator €›ํ•˜€ •ŠŠ” ปจํ…Œด„ˆ—Š”  šฉํ•  ˆ˜ —†‹ค.
----
STL
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:27:58
Processing time 0.0152 sec