Programming/Python
ํ๊ต ๊ณต์ง์ฌํญ ๋ด ๊ฐ๋ฐ๊ธฐ
ํ๊ต ๊ณต์ง์ฌํญ ๋ด ๊ฐ๋ฐ๊ธฐ
2020.02.06๋ณตํ์ด ํ ๋ฌ ๋จ์ง ๋จ์์ ๋์๋ค. ์ฌ์ฌ ํ๊ต๋ก ๋์๊ฐ ์ค๋น๋ฅผ ํ๋ค๋ณด๋ ํ๊ต ํํ์ด์ง๋ฅผ ๊ณ์ ๋ค์ด๊ฐ์ผ ํ๋ค. ์๊ฐ์ ์ฒญ ์ผ์ ์ด๋ฉฐ, ์ฅํ๊ธ ์ ์ฒญ ๊ธฐ๊ฐ ๋ฑ์ ๊ณต์ง์ฌํญ์ ๋ณด๋ ค๋ฉด ์ด์ฉ ์ ์์๋ค. ์ด ๊ณผ์ ์ด ์๊ฐ๋ณด๋ค ๊ท์ฐฎ์๋ค. (๊ณต์ง์ฌํญ์ด ์ธ์ ์ฌ๋ผ์ฌ์ง ๋ชจ๋ฅด๋) ๊ทธ๋์ ๊ณต์ง์ฌํญ์ด ์ฌ๋ผ์ค๋ฉด ์๋ ค์ฃผ๋ ๋ด์ ๋ง๋ค๊ธฐ๋ก ํ๋ค. ์ด ๊ธ์ ๊ธฐ์ด๋ก ๋ง๋ค์๋ค. ์ข์ ์๋ฃ ๊ฐ์ฌํฉ๋๋ค๐ โ์๊ฐํ๊ธฐ ์ฒ์์ ์์ฃผ ๋จ์ํ๊ฒ ์๊ฐํ๋ค. ์ฐ๋ฆฌ ํ๊ต ํํ์ด์ง๋ ๋ฉ์ธ์์ ์์ ฏ์ผ๋ก ๋๋ต ์ด ๊ฐ ๋จ์ง์ ๊ณต์ง์ฌํญ์ ์๋ ค์ค๋ค. ์ด๊ฑธ ํฌ๋กค๋งํ๋ฉด ๋์ง ์์๊น? ๊ทธ๋์ ์ฒ์ ๋ง๋ค ๋๋ ๋ฉ์ธ์ ์๋ ์์ ฏ์ ํฌ๋กค๋งํ๋ค. ๋ค ๋ง๋ค๊ณ ๋๋ ๋ฌธ์ ์ ๋ด์ฐฉํ๋ค. ์์ ฏ์ ์ผ์ชฝ ์๋จ์ ๊ฒ์ํ ์ด๋ฆ์ด ์ถ๋ ฅ๋๋ ํํ์๋๋ฐ ์ค์ ๊ฒ์ํ ์ด๋ฆ๊ณผ ๋งค์นํ์ง ์์๋ค…. (๋ฒ๊ทธ๋ผ๊ณ ์๊ฐ..
Python: is์ ==
Python: is์ ==
2020.02.05โ ์ด์ง ํธ๋ฆฌ์ ๋์ด ์ฐ์ ์ํ(breadth first traversal)์ ๊ตฌํํ๋ ๋์ค ๋งํ๋ค. ๋ญ๊ฐ ์๋ชป๋ ๊ฑธ๊น? ๋ฌธ์ ๊ฐ ์ผ์ด๋ฌ๋ ์ฝ๋ ๋ถ๋ถ์ด๋ค. if self.root is None: return traversal ๋๋ self.root๊ฐ null์ธ์ง ์ฒดํฌํ๊ณ ์ถ์๋ค. ๐ก is์ ==์ ์ฐจ์ด is์ ==์ ์ฉ๋์ ๋ง์ง ์๊ฒ ์ฌ์ฉํ๊ณ ์๋ ๊ฒ ๋ฌธ์ ์๋ค. is๋ ์ค๋ธ์ ํธ(=๊ฐ์ฒด)๋ฅผ ๋น๊ตํ ๋ ์ฌ์ฉํด์ผ ํ๊ณ , ==๋ ๊ฐ(value)๋ฅผ ๋น๊ตํ ๋ ์ฌ์ฉ๋์ด์ผ ํ๋ค. ์ด ๊ธ์ด ๋งค์ฐ ๋์ ๋์๋ค. ๊ทธ๋ฌ๋๊น ๋ด ๊ฒฝ์ฐ์๋ self.root์ ๊ฐ์ด null์ธ์ง ์ฒดํฌํด์ผ ํ๊ธฐ ๋๋ฌธ์ is๋ณด๋ค๋ ==๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ ์ ํฉํ ๊ฒ์ด์๋ค. if self.root == None: return traversal