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.0103 sec