Вот про последнюю часть текста хотелось бы подробнее. Какие в среднем действия, если человек регулярно получает все больший и больший оффер от других компаний?
Задача 6(пункт 2):
Почему бы нам не рассмотреть нулевой оператор? Тогда сразу A^T=0, а p(A)=k_0*E(все остальное занулится). Видно, что p(A)!=0, т. к. k_0!=0 по условию ==> исходное утверждение неверно.
P.S. В методе characters() я бы использовал reflection:
public class SAXHandler extends DefaultHandler {
private static final String CLASSNAME = "class";
private Object object;
private String element;
private Logger logger;
public SAXHandler() {
logger = LogManager.getLogger(this.getClass().getName());
}
//...
@Override
public void characters(char[] chars, int start, int length) {
if (element != null) {
String s = new String(chars, start, length);
try {
ReflectionHelper.setFieldValue(object, element, s);
} catch (...) {
//...
}
}
}
//...
}
public class ReflectionHelper {
private static ReflectionHelper helper;
public static ReflectionHelper instance() {
if (helper == null)
helper = new ReflectionHelper();
return helper;
}
public static Object createInstance(String className) throws
ClassNotFoundException,
IllegalAccessException,
InstantiationException {
return Class.forName(className).newInstance();
}
public static <T> void setFieldValue(Object object, String fieldName, T value)
throws NoSuchFieldException, IllegalArgumentException, IllegalAccessException {
Field field = object.getClass().getDeclaredField(fieldName);
field.setAccessible(true);
if (field.getType().equals(value.getClass())) {
field.set(object, value);
} else {
throw new IllegalArgumentException();
}
field.setAccessible(false);
}
}
И никаких громоздких if'ов или switch-case'ов не требуется. Хотя, у reflection'a тоже есть минусы: само по себе использование reflection очень ресурсозатратное хобби, а вдобавок приходится и рушить концепции ООП: ReflectionHelper.setFieldValue() измененяет значения private полей. Но это уже кому как больше нравится.
Мой юный друг! Я уже не однократно говорил, что показываю наиболее простой(по моему мнению) метод. Вы имеете в виду класть объект дерева в файл? В следующей статье буду портировать нашего Хаффмана на андроид и обязательно расскажу про этот(и не только) метод оптимизации. Спасибо за замечание!
Вот так бы сразу! Действительно, читать входной файл по строкам, мягко говоря, нерационально. Спасибо большое, учту. Я новичок в этих кодерских делах, поэтому был рад услышать корректирующие советы, которые последовали в Вашем живописном комментарии.
Вот так бы сразу! Действительно, читать входной файл по строкам, мягко говоря, нерационально. Спасибо большое, учту. Я новичок в этих кодерских делах, поэтому был рад услышать корректирующие советы, которые последовали в Вашем живописном комментарии.
Я не понимаю, что вам могло не понравиться в реализации(поясните). Насчет хранения таблицы — да, окей, согласен. Но опять же, я показывал наиболее простой для понимания(по моему мнению) способ.
Хм, у вас есть решение? Я вообще сомневаюсь, что дерево может быть построено за O(1). Насчет try catch согласен, но я проверял, исключения кроме NullPointerException возникнуть не могут. Но все же, предложите более безопасную реализацию (я начинающий Java кодер, совмещаю Шилдта и практику).
Файл объемом 631 кБит сжимался 27 минут. Как видите, этот результат оставляет желать лучшего на луну быстрее долететь можно. Коэффициент при этом не компенсирует время — 1.79. Статическую реализацию делать не пробовал.
Да, это скорее просто мануал по Хаффману. Но вернемся к вашему предложению. Допустим, мы сжали кодировочный файл(таблицу), ок. Как будем читать оттуда данные?
Допускаю, в ваших словах что-то есть. Даже не задумывался об этом способе. Я показал лишь наиболее понятный и простой (по моему мнению) метод. Согласен, ваш способ более рациональный.
Вот про последнюю часть текста хотелось бы подробнее. Какие в среднем действия, если человек регулярно получает все больший и больший оффер от других компаний?
Товарищ! Зачем так грубо?
Автор рассказывает, что наши
ублюдкихакеры:использовали уязвимости Microsoft Exchange ProxyShell и ProxyLogon для скачивания файла
а не
получили удаленный доступ и "I-own-the-server-motherfucker!"
Почему бы нам не рассмотреть нулевой оператор? Тогда сразу A^T=0, а p(A)=k_0*E(все остальное занулится). Видно, что p(A)!=0, т. к. k_0!=0 по условию ==> исходное утверждение неверно.
1.5
P.S. В методе characters() я бы использовал reflection:
И никаких громоздких if'ов или switch-case'ов не требуется. Хотя, у reflection'a тоже есть минусы: само по себе использование reflection очень ресурсозатратное хобби, а вдобавок приходится и рушить концепции ООП: ReflectionHelper.setFieldValue() измененяет значения private полей. Но это уже кому как больше нравится.
2)В каком смысле несжатое дерево? Вы имеете ввиду несжатую кодовую таблицу, полученную с помощью дерева?
Буду признателен
на луну быстрее долететь можно. Коэффициент при этом не компенсирует время — 1.79. Статическую реализацию делать не пробовал.