Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
💸 Как сделать бизнес проще, а карман толще?
Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое раписание, но и напоминать клиентам о визитах тоже.
Проблема в том, что средняя цена по рынку за такой сервис — 800 руб/мес или почти 15 000 руб за год. И это минимальный функционал.
Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.⚡️ Для новых пользователей первый месяц бесплатно. А далее 290 руб/мес, это в 3 раза дешевле аналогов. За эту цену доступен весь функционал: напоминание о визитах, чаевые, предоплаты, общение с клиентами, переносы записей и так далее. ✅ Уйма гибких настроек, которые помогут вам зарабатывать больше и забыть про чувство «что-то мне нужно было сделать». Сомневаетесь? нажмите на текст, запустите чат-бота и убедитесь во всем сами! Билет. Задача сортировки
A0a1a2…an-1 -> ai0ai1…ain-1 F(ai0)< =f(ai1)< =…< =f(ain-1) f(x) – упорядочивающая функция Методы (прямые): выбором, включением, обменом. Эффективность методов: С(n) – кол-во сравнений; M(n) – кол-во перемещений; временная сложность – T(n), O(f(n)). Const int nn = 100; int a[nn]; Выбор Идея: 1).Min{ A0a1…an-1}ó a0 2).Min{ a1…an-1}ó a1 i).Min{ ai…an-1}ó ai n-2).Min{ an-2an-1}ó an-2 Схема: For(i=0; i< n-1; i++) {поиск места К мин. эл-та в совокупности {A0a1a2…an-1} Переставить akó ai} Void selection(int a[], int n) {for (int i=0; i< n-1; i++) {int min = a[i], k=I; For (int j=i+1; j< n; j++) If (a[j]< min) {min =a[j]; k=j} A[k]=a[i]; a[i]=min} } Характеристики: C(n) = = ; M(n)min=3*(n-1); M(n)max=3*(n-1)+[ ]; T(n)=C*n2; Модификации. 1). Поиск max{a0a1…an-1-i} 2). {ai…an-1-i} min k, max m; A[k] ó a[i] if(m==i) m=k; a[m]ó a[n-1-i] Включение Идея: S1-упорядочена S2-неупорядочена a0a1 a2…ai-1 |ai… an-1 ß R Схема: For (i=1; i< n; i++) {R=a[i]; включить R в совокупность { A0…an-1}, поиск места вставки R в совокупность { A0a1… ak ak+1 …ai} сдвиг { Ak+1…ai-1} вставка a[k+1]=R; } void insertion(int a[], int n) {for (int i=1; i< n; i++) Int R=a[i]; While(k> =0& & a[k]> R) {a[k+1]=a[k]; k--; a[k+1]=R; } } Характеристики: C(n)min=n-1; C(n)max= = ; M(n)min=2(n-1); Mmax=2(n-1)+ = ; T(n)=C*n2; O(n2); Модификации: 1).поиск линейный (слева направо) с правым барьером. K=0; While(a[k]< R) k++; For(int j = i-1; j> =k; j--) a[j+1]=a[j]; a[k]=R; 2).Поиск линейный с левом барьером. For(int i=n-1; i> 0; i--) If (a[i]< a[i-1]) {int t = a[i]; a[i] = a[i-1]; a[i-1] = t; } For(int i=2; i< n; i++) R=a[i]; 3).Двоичное включение. Обменом Идея: A0a1… aj aj+1 …an-2 an-1 aj < = aj+1 à Void Bubble(int a[], int n) {for (int i=n-1; i> 0; i--) For(int j=0; j< I; j++) If (a[j]> a[j+1]) {int t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } Характеристики: C(n) = ; M(n)min=0; M(n)max=3* С ЗАПОМИНАНИЕМ ФАКТА ПЕРЕСТАНОВКИ. While(true){ Bool swapped = false; For(…){ If (…) swapped = true; //если была перестановка } if(! swapped) break; } ВЕКТОРОМ ИНДЕКСА. A – исходный массив, V[i]=i - вектор индексов(массив) For(int i=0; i< count; i++) {for(int j=0; j < count – I; j++) {if (A[V[j]]> A[V[j+1]]) swap(V[j], V[j+1])} }
Билет
|