[제로베이스 데이터취업스쿨 15기] Part. 3 자료구조&알고리즘 with Python 스터디노트 -13(5.19.)

DaHye CHOI·2023년 5월 19일
0

>⛹️‍♀️ 제로베이스 데이터취업스쿨 15기 스터디노트 13(5.19.)

🗂️ 오늘(5.19.) 수강한 분량

알고리즘 1~3

🗂️ 알고리즘 1~3 핵심 내용 정리

  • 선형검색 : 선형으로 나열되어 있는 데이터를 순차적으로 스캔하여 원하는 값 찾기
    • 보초법: 마지막 인덱스에 찾으려는 값을 찾는 과정 → 찾는 과정이 간략화 됨
      ex) 인덱스 0~10까지 순차 검색 / 검색 성공 : 마지막 이전에 9가 검색된 경우, 검색 실패 : 마지막에 9가 검색된 경우
    • searchResultIdx = -1 #존재하지 않은 인덱스인 -1을 주고 시작
      n = 0
      while True:
      if nums[n] == searchData:
      	if n != len(nums) -1:
        	searchResultIdx = n
      		break
        n += 1 # 무한반복 방지
  • 이진검색 : 정렬 되어있는 구조에서 중앙값과의 크고 작음을 이용하여 데이터 검색
    • #초기값 설정
      staIdx = 0
      endIdx = len(nums) -1 #마지막 인덱스
      midIdx = (staIdx + endIdx) // 2 #중앙값 찾기(혹시 모르니 몫으로만 계산)
      midVal = nums[midIdx] #중앙값
      while searchData <= nums[lens(nums) -1] and \ searchData >= nums[0] #조건
      	if searchData == nums[len(nums) -1]
        ~
        	break
        if serchData> midVal:
        	staIdx = midIdx
            midIdx = (staIdx + endIdx)// 2 #새로운 중앙값
  • 순위 : 수의 순서를 정하는 것(크고 작음 이용)
    • 계산 값이 많을 땐 모듈을 이용하여 순위 모듈 만들기
    • 모듈은 class ~ :, def init(self,a,c): 사용
      -__init__(): 기존 데이터의 초기화, 첫인수로 반드시 self용, 그후 인수 지정
  • 버블정렬 : 처음부터 끝까지 인접하는 인덱스의 값을 순차비교하면서 큰 숫자를 가장 끝으로 옮김
    • for i in range(length):
      	print(i)
          for j in range(length - i)
  • 삽입정렬 : 정렬되어 있는 자료 배열과 비교하여 정렬 위치 찾기
    • while nums[i2] > cNum and i2>= 0 # 0앞은 비교 불가함으로 
  • 선택정렬 : 주어진 리스트 중에서 최솟값을 착고 그 값을 맨 앞에 위차한 값과 교체
    • 모듈은 class ~ :, def init(self,a,asc=True): 사용
    • sn = sm.SortNumber(nums) #객체 생성
      sn.setSort() #오름차순
      sortedNumbers = sn.getSortedNumbers()
      print(f'sortedNumbers by asc : {sortedNumbers}')
      sn.setSort(False) #내림차순
  • 최대값 : 자료구조에서 가장 큰 값
    • class : def init(self,a): 사용
    • class MaxAlforithm:
      	def __init__(self,ns):
         def getMaxNum(self):
         	self.maxNum = sulf.numss[0]
             for n in self.maxNums < n:
             		slef.maxNum = n
             result self.maxNum
  • ord(): 아스키코드 변환함수

👩‍🚀 스터디 감정 노트

ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ알고리즘 들어가자마자 정신없이 휘몰아치는 무언가...ㅋㅋ하면서 웃음만 나온다
파이썬 기초 돌릴려고 코드업 파이썬 100문 챌린지 시작! 배운거랑 좀 다른것들도 있어서 잘 비교해가면서 확인해야지 🤯

[이미지 출처 : 미리캔버스]

profile
데이터가 궁금한 비전공자의 데이터스터디🫠

0개의 댓글