Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Алгоритмы сортировок

Автор:   •  Ноябрь 14, 2023  •  Лабораторная работа  •  436 Слов (2 Страниц)  •  57 Просмотры

Страница 1 из 2

ГУАП КАФЕДРА № 42

ОТЧЕТ

ЗАЩИЩЕН С ОЦЕНКОЙ ПРЕПОДАВАТЕЛЬ

[pic 1][pic 2][pic 3]

ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №1

Алгоритмы сортировок

по курсу: Алгоритмы и структуры данных

РАБОТУ ВЫПОЛНИЛ[pic 4][pic 5]

СТУДЕНТ ГР.

4221

А.А. Крылов

подпись, дата

[pic 6]

инициалы, фамилия

Санкт-Петербург 2023

Оглавление

Задание        3

Блок-схема алгоритма        4

Описание функции        5

Листинг программы        5

Результаты выполнения программы        6

Выводы        10

Задание

Написать программу, для сортировки и анализа текстовых данных. В соответствии с параметрами варианта задания нужно реализовать сортировку слов в тексте и провести его простейший анализ. Варианты заданий приведены на рисунке 1.

[pic 7]

старший преподаватель

С. Ю. Гуков

должность, уч. степень, звание

подпись, дата

инициалы, фамилия

Рисунок 1 – задание

Блок-схема алгоритма

Блок-схема алгоритма представлена на рисунке 2.

[pic 8]

Рисунок 2 – Блок-схема алгоритма

Описание функции

Программа фильтрует введенный текст, затем сортирует его слиянием и выводит результат и статистику в файлы

Листинг программы

# coding=windows-1251 import re

import time

from xml.etree.ElementTree import tostring start = time.time() ## точка отсчета времени ##код программы

def merge_sort(arr):

if len(arr) <= 1:

return arr

mid = len(arr) // 2 left_half = arr[:mid] right_half = arr[mid:]

left_half = merge_sort(left_half) right_half = merge_sort(right_half)

return merge(left_half, right_half)

def merge(left, right):

merged = []

left_index = right_index = 0

while left_index < len(left) and right_index < len(right):

if left[left_index][0] < right[right_index][0]: merged.append(left[left_index]) left_index += 1

else:

merged.append(right[right_index]) right_index += 1

while left_index < len(left):

merged.append(left[left_index]) left_index += 1

while right_index < len(right):

merged.append(right[right_index]) right_index += 1

return merged alph="абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ " FileName="Vvod"

FileNum = input("File vvod num: ") FileName+=FileNum FileName+=".txt"

f = open(FileName) text=""

for i in f:

for k in i:

if k in alph: text+=str.lower(k)

words = re.findall(r'\b\w+\b', text, re.UNICODE) sorted_words = merge_sort(words)

result = ""

dictionary={'а':0,'б':0, 'в':0 ,'г':0 ,'д':0 ,'е':0, 'ё':0, 'ж':0, 'з':0, 'и':0, 'й':0, 'к':0 ,'л':0, 'м':0, 'н':0, 'о':0, 'п':0 ,'р':0, 'с':0, 'т':0 ,'у':0 ,'ф':0 ,'х':0, 'ц':0, 'ч':0 ,'ш':0, 'щ':0, 'ъ':0, 'ы':0, 'ь':0, 'э':0, 'ю':0 ,'я':0}

...

Скачать:   txt (5.1 Kb)   pdf (192.7 Kb)   docx (119.6 Kb)  
Продолжить читать еще 1 страницу »
Доступно только на Essays.club