Что делает O (журнал (журнал (n)))) - конкурентоспособный средний?

DB db = mongoClient.getDB( "mydb" );

coll = db.getCollection("testCollection");

Employee emp = new Employee();
emp.setId("1001");
emp.setName("John Doe");

//Converting a custom Class(Employee) to BasicDBObject
Gson gson = new Gson();
BasicDBObject obj = (BasicDBObject)JSON.parse(gson.toJson(emp));
coll.insert(obj);
findEmployee(new BasicDBObject("id","1001"));


public static void findEmployee(BasicDBObject query){

    DBCursor cursor = coll.find(query);

    try {
       while(cursor.hasNext()) {
          DBObject dbobj = cursor.next();
        //Converting BasicDBObject to a custom Class(Employee)
          Employee emp = (new Gson()).fromJson(dbobj.toString(), Employee.class);
          System.out.println(emp.getName());
       }
    } finally {
       cursor.close();
    }

}

Я подумал, что было бы полезно опубликовать код, который выполнял преобразования в обоих направлениях.
Хранение Объекта Сотрудника
Поиск и воссоздание Объекта Сотрудника
Надеюсь, что это полезно ..

8
задан unj2 30 May 2009 в 15:53
поделиться

2 ответа

Онлайн-алгоритм - это алгоритм, который не знает своих входных данных заранее и должен «реагировать» (в некотором смысле) на непредсказуемые входные данные. Напротив, автономные алгоритмы - это те, которые заранее знают все свои входные данные.

Конкурентный анализ сравнивает производительность оптимального онлайн-алгоритма с оптимальным автономным алгоритмом. Таким образом, k-конкурентный означает, что существует автономный алгоритм, который работает не более чем в k раз хуже, чем онлайн-алгоритм. Итак, O (lglgn) конкурентный означает, что оптимальный автономный алгоритм работает не более чем в lglgn (умноженное на константу) раз хуже, чем оптимальный онлайн-алгоритм.


Термин «k-конкурентный» можно рассматривать таким же образом, как и термин «k-приближение». K-приближение означает, что алгоритм приближения работает не более чем в k раз хуже, чем оптимальный алгоритм.

13
ответ дан 5 December 2019 в 12:12
поделиться

Этот может пролить свет на ваш вопрос.

Из приведенной выше ссылки:

Пусть A - любой алгоритм BST, определите A (S) как стоимость выполнения последовательность S и OPT (S, To) как минимальная стоимость выполнения последовательности S. Алгоритм A является T-конкурентным, если для всех возможных последовательностей S, A (S) <= T * OPT (S, To) + O (m, n).

1
ответ дан 5 December 2019 в 12:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: