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