Memristor-Based Nanoelectronic Computing Circuits and Architectures