Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

View xylcbd's full-sized avatar
🎯
Focusing

xylcbd xylcbd

🎯
Focusing
View GitHub Profile
@xylcbd
xylcbd / KMP
Last active August 29, 2015 14:00
#include <iostream>
#include <cstring>
#include <cassert>
#include <memory>
#include <ctime>
using namespace std;
bool g_bUseNormal = false;
int* next_array = nullptr;
#pragma once
#include <functional>
class CScopedRelease
{
public:
explicit CScopedRelease(std::function<void ()> pfnRelease)
: m_pfnRelease(pfnRelease)
{
@xylcbd
xylcbd / timeout_handler.cpp
Created August 31, 2015 01:51
c++11 timeout handler
template<typename CALLBACKTYPE,typename... ARGS>
class TimeoutHandler
{
public:
TimeoutHandler(const int _timeout/*ms*/,CALLBACKTYPE _callback, ARGS... _args)
{
std::thread([](TimeoutHandler* this_object,int _timeout, CALLBACKTYPE _callback, ARGS... _args)
{
std::this_thread::sleep_for(std::chrono::milliseconds(_timeout));
if (!this_object->exit_flag)
1,SIMD指令优化的是计算,对于内存复制之类的问题,限制在内存,使用SIMD指令优化很少;
2,SIMD指令也需要耗费时间,不要把若干移位和一两次乘法变成SIMD乘法,性能急剧下降;
@xylcbd
xylcbd / scope_exit_lambda.cpp
Last active November 27, 2015 12:23
scope exit lambda
namespace cxxdetail
{
template <typename FuncType>
class InnerScopeExit
{
public:
InnerScopeExit(const FuncType _func) :func(_func){}
~InnerScopeExit(){ if (!dismissed){ func(); } }
private:
FuncType func;
#include <iostream>
#include <fstream>
static std::string convertUtf16ToLocal(const unsigned short data)
{
char dstData[3];
::wcstombs(dstData, (const wchar_t *)&data, 2);
dstData[2] = '\0';
return dstData;
}
static void dumpUtf16Charset()
@xylcbd
xylcbd / freetype_demo.cpp
Created June 14, 2016 08:51
freetype demo
#include <cstdio>
#include <cstring>
// FreeType headers
#include <ft2build.h>
#include FT_FREETYPE_H
// OpenCV headers
#include <opencv2/core/core.hpp>
@xylcbd
xylcbd / string_utils.cpp
Created June 21, 2016 07:41
c++ string about utils code
static std::string strip(const std::string& content)
{
if (content.empty())
{
return content;
}
std::string result = content;
while (true)
{
const wchar_t last_char = result[result.size() - 1];

程序设计时的常用算法

排序

  • 冒泡排序
  • 快速排序
  • 直接插入排序
  • 希尔排序
  • 简单选择排序
  • 桶排序
  • 归并排序

机器学习中的常用算法

有监督算法

  • SVM
  • ANN/CNN/RNN(LSTM)
  • 朴素贝叶斯
  • 决策树
  • Logist
  • KNN
  • EM